rkulp
Posts: 48
Joined: Mon Feb 26, 2007 10:50 pm

How to Let User Choose Prerequisite

:?: I am trying to build a mixed 32-bit/64-bit package The 32-bit side is no problem. The problem lies in the 64-bit side. The app requires ACEOLEDB.DLL which comes in two flavors which cannot reside on the same computer. The 32-bit version can work on the 64-bit OS provided Microsoft Office is not installed or the 32-bit version of Office is installed. If the 64-bit version of Office is installed, then the 64-bit version of ACEOLEDB.DLL must be installed. However, it is possible for a user to install my program and then install the 64-bit version of Office at a later time which would crash my program if the 32-bit version of the dll was installed. So, how do I give them the choice, with warnings, during my installation?
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: How to Let User Choose Prerequisite

Hello,

In order to achieve what you want you can add the related versions of your ACEOLEDB.DLL file in separate features, from "Organization" page. Then you can create a custom feature selection dialog where the user can choose which version of your DLL to install. Also, you can take a look on our "Install files with the same name" article which could be useful for you.

If you have any questions let us know.

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
rkulp
Posts: 48
Joined: Mon Feb 26, 2007 10:50 pm

Re: How to Let User Choose Prerequisite

Daniel,

Thanks for your reply. Unfortunately I am on version 7.7 so can't use the first suggestion. Is it possible to do a custom action based on a property not being true? I have properties associated with the Access Database Engine being installed - either 32-bit or 64-bit. My logic would be:
If 32-bit OS then install 32-bit (i.e., run the Access Database Engine installation .exe)
If 64-bit and 32-bit Office installed, install 32-bit
If 64-bit and 64-bit Office installed, install 64-bit
If 64-bit and Office is not installed -- ask.

Note that the only recommended way to install the ACEOLEDB.DLL is to run the Access Database Engine program.
rkulp
Posts: 48
Joined: Mon Feb 26, 2007 10:50 pm

Re: How to Let User Choose Prerequisite

Daniel,

Does the installer do sequential prerequisite checking and only check 64-bit prerequisites when the OS is 64-bit? If so, then will this work to get the 64-bit dll installed whenever the 64-bit office is installed:

1. check 64-bit prerequisite box. Install 64-bit whenever all following fail:
32-bit dll is installed.
64-bit dll is installed.
HKLM\SOFTWARE\Microsoft\Office\14.0 does not exist (fail means it does exist)

2. 64-bit box is not checked. Install 32-bit if all the following fail:
32-bit dll is installed.
64-bit dll is installed.

If I correctly understand how the checking works then this would install the 64-bit dll on any 64-bit computer that does not already have either 32-bit or 64-bit dll installed and has the 64-bit office installed. (32-bit office would be in the WOW64 registry keys).
On any computer (32-bit or 64-bit OS) that does not have the dll installed the 32-bit dll would be installed.

Microsoft defaults to installing the 32-bit Office on 64-bit computers even when the 64-bit Office install is used. One has to use custom installation and check the 64-bit platform to get the 64-bit version installed. This would be consistent with that. It also would be easier than making custom actions, etc.
Daniel
Posts: 8276
Joined: Mon Apr 02, 2012 1:11 pm
Contact: Website

Re: How to Let User Choose Prerequisite

Hello,
Thanks for your reply. Unfortunately I am on version 7.7 so can't use the first suggestion. Is it possible to do a custom action based on a property not being true? I have properties associated with the Access Database Engine being installed - either 32-bit or 64-bit. My logic would be:
If 32-bit OS then install 32-bit (i.e., run the Access Database Engine installation .exe)
If 64-bit and 32-bit Office installed, install 32-bit
If 64-bit and 64-bit Office installed, install 64-bit
In order to achieve this you can add searches on our "Search" page which will look for installed Office version on target machine. Then, you can use the related searches to condition the DLLs components installation, from "Organization" page.
If 64-bit and Office is not installed -- ask.
For this you should follow the "How do I show a custom feature selection dialog?" article steps specific to Advanced Installer 7.7. Open Advanced Installer 7.7 and press F1. Then, in the Advanced Installer Help go to: Tutorials, How To's, Q&A -> How To's -> User Interface -> Show a custom feature selection dialog
Does the installer do sequential prerequisite checking and only check 64-bit prerequisites when the OS is 64-bit?
If you want to run a prerequisite package only on 64-bit OSs, then you can configure its "Supported Windows Versions" from "Prerequisite Install Conditions Tab".

All the best,
Daniel
Daniel Radu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”