Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

MSI Installation/Deinstallation/Log


1 reply to this topic

msi_newbie

msi_newbie
  • Full Members
  • 1 posts

Posted 08 February 2011 - 10:28

Habe eine spezielle Frage.

Ich will, dass in meiner Umgebung das LogonScript eine Batch Datei ausführt, welches ein MSI entfernt und ein neues MSI installiert. Zudem soll diese Prozedur Installation/Deinstallation geloggt werden (alles silent).

Meine Batch Datei:

@echo off

SET ProductCodeToInstall={4F34C602-4D6D-470D-A2A0-59E4F25DDBF22}
SET ProductCodeToRemove={26A24AE4-039D-4CA4-87B4-2F83216022FF}


reg.exe query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%ProductCodeToRemove%" /v DisplayName

IF %ERRORLEVEL%==0 (
echo msiexec /qn /x %ProductCodeToRemove% REBOOT=R
echo %DATE% %TIME% %ProductCodeToRemove% removed...>>%COMPUTERNAME%.log
)


reg.exe query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%ProductCodeToInstall%" /v DisplayName
IF NOT %ERRORLEVEL%==0 (
echo msiexec /qn /i "%ProductToInstall%" REBOOT=R


IF NOT %ERRORLEVEL%==0 (
IF NOT %ERRORLEVEL%==3010 (
echo %DATE% %TIME% %ProductToInstall% failed...>>%COMPUTERNAME%.log
)
echo %DATE% %TIME% %ProductToInstall% installed...>>%COMPUTERNAME%.log
)
echo %DATE% %TIME% %ProductToInstall% installed...>>%COMPUTERNAME%.log

)

Ich habe bei der Microsoft gelesen, dass man nicht in der Registry abfragen sollte, da mit einem neuen Release sich die Struktur ändern könnte.

Meine Fragen:
Wie bzw. wo soll ich den MSI Produkte Code abfragen?
Macht es Sinn mit VBS anstatt Batch zu arbeiten?

MfG
MSI_newbie

Edited by msi_newbie, 08 February 2011 - 10:29.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 February 2011 - 10:51

Mit einen Script (VBS oder villeicht PowerShell?) könnte man Installer.ProductState aufrufen, um festzustellen ob das Produkt installiert ist. Beachte dabei, dass es mehrere Möglichkeiten gibt, ein Produkt zu installieren: per-machine und per-user.

Dokumentation und ein Beispiel-VBS findest du unter http://msdn.microsof...7(v=VS.85).aspx