Raz na jakiś czas trzeba coś niestandardowego wrzucić do instalacji w Active Directory a że nie wszystkie aplikacje mają dostępne paczki MSI to trzeba się nieco natrudzić.

Poniżej wrzucam skrypt, który instaluje GIMP’a 2.8 z domyślnego instalatora (wersja InnoSetup) przy okazji odinstalowując wcześniejsze wersje zainstalowane ręcznie.

Zapisujemy poniższy kod jako np. gimp-install.cmd

@echo off
REM  Installs GIMP
cls
echo ----------------------------------------------------
echo .
echo .
echo .      Installing/Updating GIMP - Please Wait
echo .
echo .
echo ----------------------------------------------------
REM Test if actual
IF exist "%ProgramFiles%\GIMP\bin\gimp-2.8.exe" GOTO SkipInstall

REM Exit the application
taskkill.exe /F /FI "IMAGENAME eq gimp-2.8.exe" >nul

REM Uninstall existing GIMP version, delete folder
if exist "%ProgramFiles%\GIMP 2\uninst\unins000.exe" "%ProgramFiles%\GIMP 2\uninst\unins000.exe" /VERYSILENT
:: Wait for 20 seconds
ping -n 40 127.0.0.1 > NUL
if exist "%ProgramFiles%\GIMP 2\" rd "%ProgramFiles%\GIMP 2\" /Q /S

REM Install new version
"\\serwerplikow.local\Instalki\GIMP\gimp-2.8.4-setup.exe" /VERYSILENT /NORESTART /DIR="%PROGRAMFILES%\GIMP 2.8"

REM Skip installation if acctuall
:SkipInstall

REM Return exit code to SCCM
exit /B %EXIT_CODE%

Tworzymy nową regułkę GPO i zmierzamy do: Computer Configuration\Policies\Windows Settings\Scripts\Startup
W nowym okienku wybieramy Show Files…
Wklejamy plik skryptu do tego folderu i teraz możemy dodać go w tym samym oknie (Add…) - dzięki wrzuceniu skryptu w tym miejscu będzie się on automatycznie replikować na inne kontrolery. Skrypt będzie co prawda uruchamiany przy każdym starcie komputera ale pierwszy warunek będzie sprawdzać czy aplikacja jest zainstalowana więc nie spowolni to znacznie startu.

Skrypt znalazłem gdzieś na sieci ale nie mogę namierzyć źródła.