I am currently using InstallAware 8 (and trying out 9), but I have two difficulties with the installer for SQL Server Express 2008 and I am unsure how to make this work.
1) If SQL Server Express 2005 is installed on the system, the install does not remove the old version (which is good), but it does not run the sql server express 2008 to perform an upgrade. How would it be possible to have it detect if no SQL Server Express 2005 or 2008 is installed, and perform an install, while if there is SQL Server Express 2005, to run the SQL Server Express 2008 to upgrade it.
2) One of the pre-requistes for SQL Server Express 2008 is powershell. On both InstallAware 8 and 9, it does not appear to be included. If powershell is not there, it looks like it tries to start the SQL install, but returns an error message saying the user must install sqlexpress manually. How would you add a check for powershell to install if it is not already on the system?
SQL Server Express 2008
1) This is the correct behaviour, as Microsoft have dictated with their setup. In order to carry out an upgrade, you will need to pass very different parameters to the SQL Server 2008 installer package - if you feel like this is what you want, you will need to do (in summary):
- Detect the current SQL 2005 install.
- Get the instance name
- Pass instance name, and upgrade flag to the SQL 2008 install (you will need to modify our standard scripts for this)
- Detect the lack of any SQL install, and perform a clean install of SQL 2008.
2) Ah, yes, this is a strange omission! I'll get this added to the wish list
Usually, to check for a component, you check for a specific GUID being registered with the MSI system, however, you can also simply perform a check for the power shell binary in Program Files if you wish 
- Detect the current SQL 2005 install.
- Get the instance name
- Pass instance name, and upgrade flag to the SQL 2008 install (you will need to modify our standard scripts for this)
- Detect the lack of any SQL install, and perform a clean install of SQL 2008.
2) Ah, yes, this is a strange omission! I'll get this added to the wish list
Andy Neillans
Thank you for the suggestion on detecting powershell, I appreciate it. I think I can figure out how to see if a file exists on the directory structure. As far as the first case, how would I use MSI to detect if a product is installed like SQL. Please forgive me if this is a basic question, but I have now built 2 installers, and I am a bit new to this still. For the workflow you described for question 1, can I do the custom logic with developer or do we need the admin level of installaware. I am about to do an upgrade to the 9 version, and want to know if doing this type of custom logic requires the more advanced version.
Once again, thank you for the help and prompt response.
Steve
Once again, thank you for the help and prompt response.
Steve
Check the following for powershell detection:
http://blogs.msdn.com/powershell/archiv ... ation.aspx
Thanks,
Mike
http://blogs.msdn.com/powershell/archiv ... ation.aspx
Thanks,
Mike
Thank you for that information, it makes it easy to detect if it is installed. One final question I have is how would you include the powershell installer as part of a single file installer that could be extracted and ran using a script command like "Extract 7Zip Archive"? Lets say I download the msu file from microsoft, how would I get that so that it would be included in a "single file" installer and that I could extract and run before other pre-requistes are checked? If I know that, then I can finish this installer.

