Hi !
I have an installer (Installshield 6.3) that I have to migrate to the MSI technology.
When I install an old version (installshield 6.3 based) and then, an MSI installer, I detect easily the old product and uninstall it.
But when I launch an MSI installer and then the old version (Installshiled 6.3 based) with the SAME GUID, the old installer don't detect the new one, and I have some conflicts.
Would you have any solution I could apply on the MSI installer (I can't modify the old ones of course) to solve my problem ?
Thanks !
P.S : The Installshield based installer looks at the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}\UninstallString Key
But it doesn't care about the value (Msiexec.exe ....) probably because it's not the value it is looking for (Rundll32 ......)
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.
Installshield to MSI
Started by
babric
, Jul 27 2005 10:00
3 replies to this topic
Posted 27 July 2005 - 15:01
MSI is a completely difefrent technology. There is no direct mapping, even if the GUID is the same (because it is used in completele different places/context). If your original installer of the old version was not written to abort if a newer version of your product already exists, then there's no real solution. Maybe your new version can write a registry entry in the format that the old version will understand and interpret as already being installed.
Stefan Krüger
InstallSite.org twitter facebook
Posted 27 July 2005 - 15:54
Hi,
The real problem is that they seem to use the same registry key, but not really using the same way, so as you say, I think there is no real solution.
But I have a new problem which was not one a few hours ago (!) :
I was able to uninstall the 6.3 with my msi package, but I rebuilt it and now, it doesn't work !
I use a CA calling an EXE file with path given by a Property. The property is set by AppSearch looking at the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}\UninstallString KEY
So the property, called OTHER_VERSION is set to, considering my case (I can see it calling vbs msgbox) :
RunDll32 C:\PROGRA~1\FICHIE~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information\{37D2A329-401E-4D4C-B433-55628EAD9EB3}\Setup.exe" -l0x9
and now, I have a "program needed can't be executed" MSI error...
????? I really don't understand.
I think the problem is that there are arguments in the Property, but I don't have another solution because the UninstallString Value contains this arguments...
I really need help, because it is making me crazy...
The real problem is that they seem to use the same registry key, but not really using the same way, so as you say, I think there is no real solution.
But I have a new problem which was not one a few hours ago (!) :
I was able to uninstall the 6.3 with my msi package, but I rebuilt it and now, it doesn't work !
I use a CA calling an EXE file with path given by a Property. The property is set by AppSearch looking at the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}\UninstallString KEY
So the property, called OTHER_VERSION is set to, considering my case (I can see it calling vbs msgbox) :
RunDll32 C:\PROGRA~1\FICHIE~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information\{37D2A329-401E-4D4C-B433-55628EAD9EB3}\Setup.exe" -l0x9
and now, I have a "program needed can't be executed" MSI error...
????? I really don't understand.
I think the problem is that there are arguments in the Property, but I don't have another solution because the UninstallString Value contains this arguments...
I really need help, because it is making me crazy...
Posted 28 July 2005 - 09:31
I solved it using a VB Script :
CODE |
Dim oWSH Set oWSH= CreateObject("WScript.Shell") oWSH.Run Property("OTHERVERSION"), 1, True set oWSH = nothing |
But I would use MSI options, and not a VB script. Do you have any idea ?
The value I read in the Registry is :
RunDll32 C:\PROGRA~1\FICHIE~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information\{37D2A329-401E-4D4C-B433-55628EAD9EB3}\Setup.exe" -l0x9
Do I have any solution to launch it without using VB script ?
Thanks !