ich bin dabei ein Paket zu erstellen das vorher die Registry nach dem Displaynamen prüft und sollte das existieren einen Reinstall manchen ansonsten halt eine komplett Installation.
[Set Product]
Code: Select all
Set V_MSIGUID = GetUninstallKeyName("%V_MSIDisplayName%*", "%V_MSIArch%")
If "%V_MSIGUID%" == "" Then "InstallMSI" Else "RepairMSI" EndIf
[InstallMSI]
Call MsiExec /I "%Src%\%VM_SourceDir%\%V_MSIFileName%" /q /Li "%MSILogFile%"
If "%Errorlevel%" == "3010" Then "RebootRequired" EndIf
Sleep 3000
Set V_MSIGUID = GetUninstallKeyName("%V_MSIDisplayName%*", "%V_MSIArch%")
If "%V_MSIGUID%" == "" Then "AbortMSI" EndIf
Leider findet er nichts und versucht eine komplett Installation und bricht mit einer Fehlermeldung ab nach erneuter Prüfung des Regkeys. Obwohl das Programm installiert ist.
In der Registry wird der Uninstallstring angezeigt.
Kann mir einer dazu einen Hinweis geben was falsch ist ?