Questions before moving from InstallShield to InstallAware
Posted: Mon Nov 24, 2008 12:40 pm
I am currently using InstallShield but for several reasons I am currently looking for another Windows Installer authoring tool.
I have installed InstallAware (trial) and made some small tests and have the following questions before I start with a “serious” project.
1 COM Registration
My application has 15 COM files (dll and OCX) that need to be registered during the installation. In every new version, patch we release some COM files have been updated and that means that the COM interface has also changed. This means that the registry data written during the registration needs to be updated. When using InstallShield they have a nice feature that will Extract COM registry data during build, this saves a lot of time since I don’t need to update the registry keys manually in InstallShield.
In InstallAware I have not found a similar feature. I have found 3 ways of taking care of COM files in InstallAware.
1. Set the files a Self Registering DLL (This is not possible to use since my files must be registered in a specific order.
2. From the part in the designer where I add Registry data I can Extract COM registry data from each file, this I guess works fine but since the extracted information changes often it will be impossible to manage this in a good way. I might have worked but since it is not possible to “filter” registry data based on files I thing will not work for me.
3. In the Script editor it looks like I can add a command called ”Registrar Library”. I think this one might solve my problem since I guess it will call RegSvr32.exe to register the file. This feature will give me to possibility to control the order the files are registered in. But I am not sure if my installation will pass the Windows Vista Logo if I use this script. Anyone have any experience of that?
Is there any other way than the 3 I mentioned above how to handle COM registration. I have search the Help for InstallAware but I can’t find any useful information about how to take care of the COM registration.
2. Same file in many Features
Lets sat that I have a project with 3 Features A, B and C
I have 1 files that shall be installed if the users select Feature A or B, but if the user only selects C then the file shall not be installed.
I have tried to add the file two times, for to Feature A and then to Feature B. But this results in that my file will be displayed 2 times if I remove the checkbox “Filter files by fetures” while looking at the files.
In InstallShield you create a Component for the file and then add the component to both features. To add the file 2 times in InstallAware feels wrong, how should I do this?
3. Install merge modules based on selected feature
I have 10 merge modules that needs to be installated with my application. But my problem is that I need to install them based on what Features has been selected.
In InstallShield you select the Merge Modules connected to Features, how can I do the same in InstallAware.
I have the same Installation program for both server and client installation. For example if you run a Server installation then I don’t want to install Crystal Reports since Crystal reports are only used by our client application.
4. Preserve registry settings during Update
When updating my application to a new version I would like to first uninstall the old version. The problem is that I need to preserve some registry settings before uninstalling the old version. When making small updates (patch) this is not necessary, but for bigger updates this is the best way if we need to remove files, add/delete features and so on.
Am I correct when I say that it is possible to do this with the script functions in InstallAware.
I have installed InstallAware (trial) and made some small tests and have the following questions before I start with a “serious” project.
1 COM Registration
My application has 15 COM files (dll and OCX) that need to be registered during the installation. In every new version, patch we release some COM files have been updated and that means that the COM interface has also changed. This means that the registry data written during the registration needs to be updated. When using InstallShield they have a nice feature that will Extract COM registry data during build, this saves a lot of time since I don’t need to update the registry keys manually in InstallShield.
In InstallAware I have not found a similar feature. I have found 3 ways of taking care of COM files in InstallAware.
1. Set the files a Self Registering DLL (This is not possible to use since my files must be registered in a specific order.
2. From the part in the designer where I add Registry data I can Extract COM registry data from each file, this I guess works fine but since the extracted information changes often it will be impossible to manage this in a good way. I might have worked but since it is not possible to “filter” registry data based on files I thing will not work for me.
3. In the Script editor it looks like I can add a command called ”Registrar Library”. I think this one might solve my problem since I guess it will call RegSvr32.exe to register the file. This feature will give me to possibility to control the order the files are registered in. But I am not sure if my installation will pass the Windows Vista Logo if I use this script. Anyone have any experience of that?
Is there any other way than the 3 I mentioned above how to handle COM registration. I have search the Help for InstallAware but I can’t find any useful information about how to take care of the COM registration.
2. Same file in many Features
Lets sat that I have a project with 3 Features A, B and C
I have 1 files that shall be installed if the users select Feature A or B, but if the user only selects C then the file shall not be installed.
I have tried to add the file two times, for to Feature A and then to Feature B. But this results in that my file will be displayed 2 times if I remove the checkbox “Filter files by fetures” while looking at the files.
In InstallShield you create a Component for the file and then add the component to both features. To add the file 2 times in InstallAware feels wrong, how should I do this?
3. Install merge modules based on selected feature
I have 10 merge modules that needs to be installated with my application. But my problem is that I need to install them based on what Features has been selected.
In InstallShield you select the Merge Modules connected to Features, how can I do the same in InstallAware.
I have the same Installation program for both server and client installation. For example if you run a Server installation then I don’t want to install Crystal Reports since Crystal reports are only used by our client application.
4. Preserve registry settings during Update
When updating my application to a new version I would like to first uninstall the old version. The problem is that I need to preserve some registry settings before uninstalling the old version. When making small updates (patch) this is not necessary, but for bigger updates this is the best way if we need to remove files, add/delete features and so on.
Am I correct when I say that it is possible to do this with the script functions in InstallAware.