views:

2020

answers:

5

I am looking for a replacement for InstallShield. Unfortunately we only have 1 license for InstallShield and it was installed on a developer's machine. I'm considering switching over to WiX, but after reading the documentation there is a Product ID GUID, Upgrade Code GUID and a Package GUID.

I also know GUID's were created by InstallShield. If I switch over to WiX can I start using new GUID's or do I have use some of the GUID's created by InstallShield? If an upgrade to a product is released will switching installers hose customers who had the old installer?

+8  A: 

In order to be able to upgrade your old package, you need to use (and find out) your old upgrade code.
The Package code should be different (ie autogenerated) for every different MSI (the MSI can be cached with the guid as cache key).
The Product code should be different between major upgrade, but is important for minor upgrades and patches. I haven't used wix to do anything else than major upgrades right now, so I don't know the exact details

See the MSDN article on patching and upgrades as well as the WiX Tutorial

Sander Rijken
+1, upgrade code is the only GUID you need to migrate over
sascha
If you plan to not break component reference counting, you should also use the same component guids (provided you haven't changed the install locations for the components). Just use dark.exe to disassemble your existing MSI into wix format, clean up the wix source (I'd remove the UI junk from Installshield and compile in a default WIX GUI), reyank source paths and compile and you are almost there.
Glytzhkof
A: 

I would like to suggest that you look into switching to maybe another kind of installer. I've had this problem, and stopped on NSIS. I heard quite a lot from people suffering from usage of WiX, and I find NSIS quite friendly. I use it with the EclipseNSIS plugin for eclipse, which has a nice wizard for creating new installers, and nice debugging functionality.

SurDin
When switching to another tool (like NSIS), the Upgrade/Product/Package code question still remains...
Sander Rijken
NSIS doesn't do MSI, MSI packages are a common requirement for corporate customers.
sascha
+3  A: 

I'd also suggest getting a copy of The Definitive Guide to Windows Installer, I highly recommend the book and don't know how I would have migrated to WiX without it. It's a very low level overview of Windows Installer, if you understand the book then WiX becomes pretty easy.

sascha
+4  A: 

It may also be interesting to know that you can decompile the msi that was generated by Installshield with the dark.exe tool (included in wix). This will recover the upgrade code among other things.

Wim Coenen
A: 

I know you've already accepted an answer, but make friends with Orca if you haven't already done so.

Orca helped me understand MSI and what WiX was doing under the covers. In your case it would make finding the Upgrade (or any) GUID very easy.

This question may also save you some time and headaches :)

Si