cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
alexander_v_dam
Level 2

InstallShield and 32/64 bits drivers

I am currently working on an existing InstallShield project.

The installer is a basic MSI installer and uses DIFxApp to install a driver for use with the program.

At this moment there is a need to integrate a new version of the driver, but it comes with two versions: one for 32 bits and one for 64 bits windows versions.

Is it possible using IS2008 and DIFxApp to integrate this into one installer (and if so, how is that done)?

If it is not possible, is there a possibility to integrate the drivers into one installer package, instead of the need to provide an installer for each architecture?
Labels (1)
0 Kudos
(7) Replies
Holger_G
Level 10

You can not achieve this using IS 2008 with the built-in DIFx support and a single setup executable.

But you could use your own 32 bit installer for example that launches the correct version of DPInst or DIFxApp (DIFx tools). And you could use this installer inside your main installation package.

Take a look here.
0 Kudos
pd0123
Level 4

I have the same requirement - To be able install 32bit and 64 bit drivers from a single install. Does the latest version of IS ( I have IS 12) support this ?
0 Kudos
Holger_G
Level 10

pd0123 wrote:
I have the same requirement - To be able install 32bit and 64 bit drivers from a single install. Does the latest version of IS ( I have IS 12) support this ?

No, it does not and it´s not an InstallShield related issue.
0 Kudos
pd0123
Level 4

Thanks for the reply. I have a related question.
I have my machine where I have Installshield running. I am trying to create 2 different msi projects. One of them would install a 32 bit driver and the other one 64 bit driver. The problem is when I try to include the DifxApp merge modules into these projects. The 32 bit driver project would need to use the 32 bit DifxApp.msm ( \x86\DifxApp.msm ) and 64 bit driver project would need to use 64 bit DifxApp.msm ( \amd64\DifxApp.msm ). Note that both merge modules have the SAME NAME. This is creating a problem when I include both these directories ( \x86 and \amd64) in my merge module path. It always wants to use the first one that is in the merge module path. Unfortunately I have no way of specifiying that for 32 bit project use \x86\DifxApp.msm and for 64 bit project use \amd64\DifxApp.msm (as the merge module path seems to be a machine wide setting ). Am I missing something ?

Your help is much appreciated.
Thank you
0 Kudos
Holger_G
Level 10

pd0123 wrote:
Thanks for the reply. I have a related question.
I have my machine where I have Installshield running. I am trying to create 2 different msi projects. One of them would install a 32 bit driver and the other one 64 bit driver. The problem is when I try to include the DifxApp merge modules into these projects. The 32 bit driver project would need to use the 32 bit DifxApp.msm ( \x86\DifxApp.msm ) and 64 bit driver project would need to use 64 bit DifxApp.msm ( \amd64\DifxApp.msm ). Note that both merge modules have the SAME NAME. This is creating a problem when I include both these directories ( \x86 and \amd64) in my merge module path. It always wants to use the first one that is in the merge module path. Unfortunately I have no way of specifiying that for 32 bit project use \x86\DifxApp.msm and for 64 bit project use \amd64\DifxApp.msm (as the merge module path seems to be a machine wide setting ). Am I missing something ?

Your help is much appreciated.
Thank you


Do you want to use a single project file? If yes, then do it as follows:
-Add all your driver packages to the project (I would recommend to use different destinations for 32 and 64 bit driver components) and use seperate Features for 32bit and 64bit driver components.
-Use Release Flags on those Features and use them for your releases
-Use the build in DIFxAPP feature of IS (there´s no need to include DIFx merge modules)
-Use the Automation Interface to build the releases. To get the proper DIFxAPP binaries and settings into the release you must set set the 'TemplateSummary' and the 'DeviceDriverSetRedist' property (DeviceDriverSetRedist=1 for x86 and DeviceDriverSetRedist=5 for AMD64)

As a result you should get 2 MSI packages for example. One that includes 32 bit driver packages and 32 bit DIFxAPP binaries and the second one that includes 64 bit driver packages and 64 bit DIFxAPP binaries.

Hope that helps
Holger
0 Kudos
pd0123
Level 4

Thanks for the help

I guess this feature ( Built in DifxApp support ) is available only in IS 2008 ( I have IS Premier 12 )
0 Kudos
Holger_G
Level 10

pd0123 wrote:
Thanks for the help

I guess this feature ( Built in DifxApp support ) is available only in IS 2008 ( I have IS Premier 12 )


IS 12 Premier does have built-in DIFxApp support as well. But it´s highly recommended to update the DIFx binaries in the InstallShield 12\Redist folder to the recent version (v2.1.1.0 included in Windows Driver Kit SP1 for Windows Server 2008/Vista).
0 Kudos