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

Installshield to MSI


3 replies to this topic

babric

babric
  • Members
  • 34 posts

Posted 27 July 2005 - 10:00

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 ......)

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

babric

babric
  • Members
  • 34 posts

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...


babric

babric
  • Members
  • 34 posts

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 !