Version 1.1 by Dimitri Rupp on 2026/06/11 11:07

Show last authors
1 Um ein *.intunewin Paket zu erstellen welches über Intune ausgerollt werden kann wird zuerst das MS Win32 Content Prep Tool benötigt.
2
3 Dies kann von hier heruntergeladen werden: [[https:~~/~~/github.com/microsoft/Microsoft-Win32-Content-Prep-Tool>>https://github.com/microsoft/Microsoft-Win32-Content-Prep-Tool]]
4
5
6 Nun benötigt man die *.exe Datei vom gewünschten Programm. Und legt diese in einem eigenen Ordner ab.
7
8 Nun die IntuneWinAppUtil.exe ausführen.
9
10 [[image:1633589994764-159.png]]
11
12 ~1. Den Folder angeben in dem die exe Datei liegt. **WICHTIG: **Der Source Ordner sollte idealerweise nur die Installationsdatei beinhalten, da beim Paketieren der komplette Ordner Inhalt mit in das Packe geschrieben wird)
13
14 2. Den Namen der exe Datei inkl. der Endung angeben
15
16 3. Den Ausgabe Folder angeben
17
18 4. Katalog Folder angeben
19
20
21 Es wird nun im Ausgabe Folder ein *.intunewin Paket erstellt.
22
23
24 Danach die Registerreiter durchgehen:
25
26 App Informationen: Den Namen sowie die Beschreibung der App angeben. Außerdem muss ein Publisher eingetragen werden. Am Schluß ein Logo hinzufügen.
27
28 Program: Install Command (Gute Webseite dafür ist: [[https:~~/~~/silentinstallhq.com/silent-install-knowledge-base/>>https://silentinstallhq.com/silent-install-knowledge-base/]]) sowie Uninstall Command eintragen und definieren ob es als System oder Benutzer installiert wird. Restart auf "no specific action" einstellen.
29
30 Detection Rules: Manually configured detection rules ~-~-> File ~-~-> Programmpfad und Programmstartdatei angeben
31
32
33 Save/Review und Fertig
34
35
36 **Anleitung von Istvan für ein Win32 Paket inkl. Zertifikat und uninstall Script:**
37
38
39 = Voraussetzungen =
40
41 MSI Datei besorgen, an Testsystem (z.B. eine virtuelle Win10, wo man mit Snapshots einfach zurückrollen kann) nicht signierte PS-Scripts erlauben: Set-ExecutionPolicy RemoteSigned
42
43
44 = Install Script =
45
46
47 //# Restart Process using PowerShell 64-bit//
48
49 //If ($ENV:PROCESSOR_ARCHITEW6432 -eq "AMD64") {//
50
51 // Try {//
52
53 // &"$ENV:WINDIR\SysNative\WindowsPowershell\v1.0\PowerShell.exe" -File $PSCOMMANDPATH//
54
55 // }//
56
57 // Catch {//
58
59 // Throw "Failed to start $PSCOMMANDPATH"//
60
61 // }//
62
63 // Exit//
64
65 //}//
66
67
68 //# Install KeePass-2.53.1//
69
70 //Start-Process Msiexec.exe -Wait -ArgumentList '/i KeePass-2.53.1.msi REBOOT=ReallySuppress /qn'//
71
72
73
74 = Uninstall Script =
75
76 Nachdem es damit an Testsystem installiert wurde, muss man in Registry das UninstallString suchen, um ein uninstall Script zu erstellen, bei KeePass lag das hier:
77
78 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\BD86750637CD80E4B8B058ECB0890991\InstallProperties
79
80 Stop-Process -Name: dazu passt, was man im Taskmanager findet, wenn App läuft (kann als Befehl getestet werden: //Stop-Process -Name KeePass -ErrorAction SilentlyContinue //)
81
82 Mit Installscript installieren, App starten, bei laufende App Uninstallscript ausführen, (gerne mehrmals) sollte einwandfrei funktionieren, ohne Adminrechte.
83
84
85 //# Restart Process using PowerShell 64-bit//
86
87 //If ($ENV:PROCESSOR_ARCHITEW6432 -eq "AMD64") {//
88
89 // Try {//
90
91 // &"$ENV:WINDIR\SysNative\WindowsPowershell\v1.0\PowerShell.exe" -File $PSCOMMANDPATH//
92
93 // }//
94
95 // Catch {//
96
97 // Throw "Failed to start $PSCOMMANDPATH"//
98
99 // }//
100
101 // Exit//
102
103 //}//
104
105
106 //# Stop KeePass Process//
107
108 //Stop-Process -Name KeePass -ErrorAction SilentlyContinue//
109
110
111 //# Uninstall KeePass//
112
113 //Start-Process Msiexec.exe -wait -ArgumentList /'x {605768DB-DC73-4E08-8B0B-85CE0B989019} REBOOT=ReallySuppress /qn'//
114
115
116
117
118
119 Code Signing Certificate für Domain User besorgen
120 \\An DC anmelden, MMC starten, add/remove snap-in, Certificates, My User Account, dann Request erstellen:
121
122 [[image:image-20230531155049-1.png]]
123
124 Ich habe ein Template für CodeSigning erstellt, welche 2 Jahren Gültigkeit hat:
125
126 [[image:image-20230531155102-2.png]]
127
128 Bald hat man ein CodeSigning Cert:
129
130 [[image:image-20230531155138-4.png]]
131
132 = Script signieren =
133
134 Powershell Script auf eine DC kopieren, signieren:
135
136 So kann man schauen, welche Certs zu Signieren nutzbar sind:
137
138 //Get-ChildItem cert:\CurrentUser\My -codesigning//
139
140
141 Variable cert bekommt als Wert das Thumbprint von unsere Codesigning Cert (erste in der Liste ist null, wenn mehr gibt’s, Wert anpassen):
142
143 //$cert = @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]//
144
145
146 So wird installkeepass2531.ps1 Script mit diese Cert singniert:
147
148 //Set-AuthenticodeSignature installkeepass2531.ps1 $cert//
149
150 [[image:image-20230531155201-5.png]]
151
152
153
154
155 = Intunewim Datei erstellen =
156
157 Signierte Scripte, MSI und [[IntuneWinAppUtil>>url:https://github.com/microsoft/Microsoft-Win32-Content-Prep-Tool/blob/master/IntuneWinAppUtil.exe]] in einen Folder kopieren, IntuneWinAppUtil aus PS ausführen, Source Folder, Installscript, Output Folder angeben, NO zu catalog folder:
158
159 [[image:image-20230531155208-6.png]]
160
161
162
163
164 = Intune App erstellen =
165
166
167 MS Intune Admin Center, Windows App, Add, Windows app (Win32), Intunewim Datei hochladen, Daten angeben, Logo hochladen:
168
169 [[image:image-20230531155214-7.png]]
170
171
172
173
174 Install command:
175 powershell.exe -noprofile -windowstyle hidden -file .\installkeepass2531.ps1
176
177 Uninstall command:
178 powershell.exe -noprofile -windowstyle hidden -file .\uninstallkeepass2531.ps1
179 (Screenshot hat „-executionpolicy bypass“, aber das ist nicht nötig, Script ist signiert)
180
181 [[image:image-20230531155228-8.png]]
182
183
184
185
186 Windows 10 1607 und 64bit wählen:
187
188 [[image:image-20230531155238-9.png]]
189
190
191 Detection Rule manually konfigurieren
192 [[image:image-20230531155247-10.png]]
193
194 Next, next, next, zu Gruppe zuordnen (wenn nötig, zuerst zu eine Testgruppe), Create!
195
196 ----
197
198 == Verwandte Themen ==
199
200 {{include reference="IT-Wiki.Makros.Verwandte-Themen.WebHome"/}}
201
202 ----
203 **Status:** Migriert — Team-Review ausstehend · **Owner:** //(festlegen)// · **Letzter Review:** 2026-06-11