Im letzten Beitrag (chocolatey - Grundinstallation | scloud) habe ich darüber geschrieben, wie wir Chocolatey installieren und somit die Basis für die Installation von Applikationen via Chocolatey sicherstellen. Für die Verteilung der Applikationen via Chocolatey erstelle ich ebenfalls je ein Win32 Paket, dass ich dann mit Intune verteile. So kann nachverfolgt werden, welche Applikation wo sowie wann installiert wurde. Zudem kannst du diese so auch einzeln deinstallieren.
Für sämtliche Pakete kann hierzu dieselbe Basis verwendet werden. Die Vorlage ist hier zu finden:
Dieser Beitrag ist der zweite Teil einer Serie zur Verwaltung von Chocolatey Applikationen via Intune.
Part 1: chocolatey - Grundinstallation mit Intune | scloud
Part 2: Dieser Beitrag
Part 3: chocolatey - Programme up to date halten - Intune | scloud
Table of Contents
Chocolatey Win32
Das Packet, welches du in ein Win32- beziehungsweise Intunewin-File umwandeln kannst besteht aus folgenden Dateien:
File | Beschreibung |
---|---|
install.ps1 | Installations-File, welches aus der Datei "choco.txt" das zu installierende Paket ausliest und zudem, falls vorhanden die Installations-Parameter aus "parameter.txt" anfügt. Zusätzlich wir ein Log lokal unter "C:\Program Files\MEM\EndpointManager" geschrieben. |
choco.txt | Programm Name gemäss: Chocolatey Software | Packages |
parameter.txt | Falls nötig oder gewünscht Parameter gemäss Chocolatey Package Dokumentation. Die meisten Programme brauchen übrigens keine Parameter. In diesem Fall kannst du den Inhalt auch einfach löschen. |
check.ps1 | Erkennungs-Regel für Programm |
uninstall.ps1 | Deinstalliert das Programm und entfernet es aus dem lokalen Chocolatey Katalog. |
Wird nun ein neues Programm benötigt, muss du dies in der "choco.txt" sowie der "check.ps1" Datei eingetragen werden (Optional auch im parameter.txt).
Sobald das intunewin-Packet erstellt wurde (Prepare a Win32 app to be uploaded to Microsoft Intune | Microsoft Docs), kann dieses hochgeladen und verteilt werden.
Hier auch noch eine allgemeine Anleitung für das paketieren von mir: Create Win32 App / .intunewin | scloud
Die Parameter dazu sind:
Settings | Wert |
---|---|
Win32 File | install.intunewin |
Name | je nach Applikation |
Herausgeber | Betreuer der Umgebung, z.B. scloud |
Logo | Nicht zwingend, aber schön, wenn das Unternehmens Portal genutzt wird. |
Install command | %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command .\install.ps1 |
Uninstall command | %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command .\uninstall.ps1 |
Requirements | 64 bit |
Detection rule | custom script, check.ps1 |
Dependencies | chocolatey |
So einfach hast du dann ein Programm mit Intune (Win32) und Chocolatey installiert. Um zudem die Updates der Programme gewährleistet zu können, habe ich dir folgenden Beitrag vorbereitet:
Troubleshoot Chocolatey Installation
Um die Installation zu troubleshooten erstellt jede Installation sowie Deinstallation ein Log. Diese werden jeweils im Pfad "C:\Program Files\MEM\EndpointManager\Log" abgelegt.
Das Log beinhaltet das komplette Transkript der installation. Hierzu ein Beispiel der Snagit installation mit der Installations-Meldung von Chocolatey:
Thank you for the great article!
I have been trying for a while but the check part is not working correctly. Could you please help?
The application was not detected after installation completed successfully (0x87D1041C)
I have looked up the error but all the staff is not relevant, talking about the app being deleted or updated.
I have tried the script on the VM I have pushed it to and it works.
Thanks for your feedback 🙂
Sounds like a problem with the detection rule (check.ps1). Did you add the chocolatey id to the fists line in the "check.ps1"?
There you should change "snagit" with the program you also declared in the "choco.txt"
$ProgramName = "snagit" <-- chocolatey id
Hi Florian,
Thank you for your reply. I have put the name correctly, and it is not working as well, even if the installation does not work. Could you tell me something about the parameters license? Do I need to pay for that or obtain my own?
I am a more visual learner, and could you please look at the video I have recorded the way I am putting this together?
https://www.loom.com/share/cb6dc3fad8b1459c9b9c50ce199d4887
Thank you!
Best regards,
Sharif
Thanks for the helpful video.
You can remove the content from the "parameter.txt".
Those parameters are an example for Snagit. Most programs via chocolatey don't require parameters.
To troubleshoot the zoom installation, you'll find a log at "C:\Program Files\4net\EndpointManager\Log\zoom-install.log"
Hi Florian,
Many thnx for a perfect solution. There is one thing i can't seem to get working. I'am trying to install PDF Xchange with Chocolatey, which is working. But i need to use some parameters, and can't get it to work.
Could you provide me with an example? I want to use the /NoDesktopShortcuts and /NoUpdater.
Kind regards,
Danny
You can add them in the installation file (install.ps1). Just add
-params '"/NoDesktopShortcuts"'
after-y
of the update and install line.We just upload the .intunewin to Intune, how can the uninstall.ps1 and choco.txt be read as they're not uploaded to Intune?
Creating the ".intunewin" will include every file in that folder. It's like a ZIP file.
Got it, thank you
Chocolatey upgraded to 2.0.0 and causing issue with detection script as they have removed the --localonly
Now we have app installed but still getting failed toast notifications.
yes, in V2 the detection changed, the repo is update with a more robust detection rule
Issue fixed by remove the --localonly in the detection script 🙂