PDA

View Full Version : Automatically incrementing the Product GUID for daily builds



llamaindustries
12-08-2005, 04:17 PM
We are still in development of our product, and we do daily builds with a custom builder. Is there any easy way to generate a new Product GUID each time IS is started? After all the searching that I've been doing, I've not found anything that seems to be feasible for us.

The reason for this is that we would like to install our product over a previous installation without telling the user they have to uninstall and then reinstall.

The only way around this that I've found is using this:



CmdLine= REINSTALLMODE=vomus REINSTALL=ALL


However, I'm not sure of the long-term ramifications for using this method.

Any ideas?

Thanks,

Dave

yuhaian
12-11-2005, 09:17 PM
It seems other two edition support automation.

nehaas
12-12-2005, 12:35 AM
Hi Dave,

I too want the same installation feature in my build .I donot want the user to know about the uninstallation n want the product to install automatically. I did what u have posted but it gives me an error which is
Error -1612: and says

The installation source 4 this product is not available. Verify that the source exists and that it can access it.

Can you please let me know if you have a solution for this.

Regards,
Neha

MichaelU
12-12-2005, 12:20 PM
Using REINSTALLMODE=vomus REINSTALL=ALL is much like running a minor upgrade, which Express only explicitly supports as part of a QuickPatch project. I certainly would suggest not distributing set up to do this, as among other things, it cannot be used as a first-time install.

In general I wouldn't suggest approaching it from this angle; I would suggest creating a batch file which first silently uninstalls the current one and then silently installs the new build. This can be done with msiexec /x [file.msi-or-guid] /qn and msiexec /i [newfile.msi] /qn, or similar parameters to setup.exe; see the help for command line arguments for details.

Actually, thinking a little more, I would suggest using /qb - this would give better feedback that the process is running, and make it obvious if there's a failure they need to manually patch up after, but in the happy case will run without waiting for the user.