This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Problems with 32 and 64 bit driver install
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2013
10:27 AM
Problems with 32 and 64 bit driver install
Hello,
First, let me give a little background to my situation. Currently, I have an installer (MSI) that installs a 32 bit driver when installed. Recently, we have created a 64 bit version of the driver and need to distribute that too. Obviously, the ideal situation is to update the already existing MSI installer to figure out which platform the user is installing on and deliver the appropriate driver. I know that simply adding it to the installer doesn't work due to Difxapp and so I've tried a couple different avenues. I tried creating a merge module for each driver and associating each to a different feature but installshield apparently didn't like that either.
So now what I've done is create an installer for each driver package and make them feature prerequisites in the main MSI installer. This seemed to be going fine until I was testing the upgrade path from the previous installer. Basically, the installer is installing the feature prereq before removing the previous version (i.e. Major Upgrade) which actually completes the installation but the driver gets removed.
My question is is it ok to put the ISInstallPrerequisites into the Execute action after the RemoveExistingProducts action? Or is there a better solution?
I'm open to other solutions for the initial problem but everything that I have seen so far haven't seemed to be very elegant solutions.
Thanks!
First, let me give a little background to my situation. Currently, I have an installer (MSI) that installs a 32 bit driver when installed. Recently, we have created a 64 bit version of the driver and need to distribute that too. Obviously, the ideal situation is to update the already existing MSI installer to figure out which platform the user is installing on and deliver the appropriate driver. I know that simply adding it to the installer doesn't work due to Difxapp and so I've tried a couple different avenues. I tried creating a merge module for each driver and associating each to a different feature but installshield apparently didn't like that either.
So now what I've done is create an installer for each driver package and make them feature prerequisites in the main MSI installer. This seemed to be going fine until I was testing the upgrade path from the previous installer. Basically, the installer is installing the feature prereq before removing the previous version (i.e. Major Upgrade) which actually completes the installation but the driver gets removed.
My question is is it ok to put the ISInstallPrerequisites into the Execute action after the RemoveExistingProducts action? Or is there a better solution?
I'm open to other solutions for the initial problem but everything that I have seen so far haven't seemed to be very elegant solutions.
Thanks!
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2013
08:35 PM
Hello.
I'm not sure whether you can do Major upgrade 32bit MSI to 64bit MSI.
But it looks like you tried it and you couldn't do it.
I guess in this case the most simple way is uninstalling the previous version and install the latest version without default Major upgrade mechanism.
Why don't you create wrapper Setup.exe which includes two type MSI installer(32/64) and uninstalls the previous version installer if it's needed.?
InstallScript custom codes can do it.
Q109075: HOWTO: Creating an InstallScript Wrapper
http://support.installshield.com/kb/view.asp?articleid=Q212514
I'm not sure whether you can do Major upgrade 32bit MSI to 64bit MSI.
But it looks like you tried it and you couldn't do it.
I guess in this case the most simple way is uninstalling the previous version and install the latest version without default Major upgrade mechanism.
Why don't you create wrapper Setup.exe which includes two type MSI installer(32/64) and uninstalls the previous version installer if it's needed.?
InstallScript custom codes can do it.
Q109075: HOWTO: Creating an InstallScript Wrapper
http://support.installshield.com/kb/view.asp?articleid=Q212514
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 30, 2013
07:57 AM
Sorry if I didn't explain it quite right. I'm not trying to upgrade a 32 bit MSI to a 64 bit MSI. I currently have a 32 bit MSI that installs 32 bit components and a 32 bit driver (only installs the driver if ran on 32 bit machine). Now we have a 64 bit version of the driver. To keep it all in one package, I created separate MSI's for the 32 bit driver and 64 bit driver and then made them feature prerequisites for the original 32 bit MSI.
The problem that I ran into for upgrade is that the ISInstallPrerequisites action executes before the RemoveExistingProducts which means, on a 32 bit machine, the 32 bit driver is installed during the prereq action, but then the files are removed during the RemoveExistingProducts action. So my question was is there any reason why I can't put the ISInstallPrerequisites action after the RemoveExistingProducts action?
And if that isn't possible, the ultimate goal is to keep both drivers contained within one deliverable installer so if there is a better way to do that then I'm open to suggestions.
The problem that I ran into for upgrade is that the ISInstallPrerequisites action executes before the RemoveExistingProducts which means, on a 32 bit machine, the 32 bit driver is installed during the prereq action, but then the files are removed during the RemoveExistingProducts action. So my question was is there any reason why I can't put the ISInstallPrerequisites action after the RemoveExistingProducts action?
And if that isn't possible, the ultimate goal is to keep both drivers contained within one deliverable installer so if there is a better way to do that then I'm open to suggestions.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 30, 2013
10:58 AM
Oops I should have looked more into your link before responding. It looks like that may work for us.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 30, 2013
11:35 PM
bknoll22 wrote:
Oops I should have looked more into your link before responding. It looks like that may work for us.
I'm glad to hear that:)
Since it looked like you were trying to treat a msi installer as a Launcher which invokes another msi installers, I recommended that KB.
Just as far as I'm aware...
In any case, you should not do that configuration.
Generaly, msi which invokes another msi is not recommended.
( 'Feature prerequisites' is one of exception. )
