Phill
Posts: 10
Joined: Mon Apr 03, 2006 4:37 am

Patching bootstrapped EXE

Hi,

I have distributed my program as a single EXE using the option to include the MSI in an EXE bootstrapper.

I have a new version (No product code change) and have to extract the MSI files from both the old version and the new version of the installer to create a patch.

This patch works fine if you have installed my product from the extracted install.

However it does not work as expected when you install my product from the bootstrapped EXE then apply to patch.

If you use the bootstrapped EXE it seems that there is no cached copy of the original MSI file stored on the computer.

This causes the patch to ask for the location of the original MSI file.
If I tell it where an extraced version of it is it will patch the install correctly.

Is there an option to allow windows to cache the MSI from the bootstrapped EXE?

Thanks.

** Phill **
Phill
Posts: 10
Joined: Mon Apr 03, 2006 4:37 am

I also have a dialog ask for the MSI if you delete the install files when installing from the extracted version.

Does anyone know how to stop it looking for the MSI from the install path ?

:(
Phill
Posts: 10
Joined: Mon Apr 03, 2006 4:37 am

Here is some more information:

I have checked and windows does store a copy of the MSI file in the windows\installer directory and makes reference to it from the registry.

I have also tried a simple change one file test without changing anthing else.
This time I built everything into the MSI file.
This also causes the dialog asking for the MSI path to appear.

So in summary I cant get a patch to work unless I have a copy of the original MSI on the client.
gigi
Posts: 2103
Joined: Tue Apr 11, 2006 9:55 am
Contact: Website

Hi,

When the msi is included in the exe bootstrapped the Setup.exe tool copy the msi file to a temp location and after is installed the msi file is deleted.

To avoid this create the exe with the msi file outside which involves to have following options set in the "Media" page "Create EXE setup file", "Leave install files outside", "Compress CAB files for smaller size", "Include CAB files into the MSI database."

Regards,
Gigi
__________________
Gheorghe Rada
Advanced Installer Team
http://www.advancedinstaller.com
Phill
Posts: 10
Joined: Mon Apr 03, 2006 4:37 am

I have created a test project and can create a patch from a bootstrapped exe. :lol:

You need to extract the MSI files from the bootstrapped exe's (old and new version of the program) and create the patch using the two MSI files extracted from the EXE's.

E.g. MyInstaller.exe /extract:"."

This means you can create a patch for a bootstrapped exe install.

I had already tried this with my project but it did not work.

My project will not patch even when I package it as a MSI file or any of the other package options.

However I did not change the version number my project which I think is causing the problem. I will post the solution latter .... :roll:
gigi
Posts: 2103
Joined: Tue Apr 11, 2006 9:55 am
Contact: Website

Hi,

You can use FileHash, activate it from "Files and Folder" page toolbar.

Regards,
Gigi
_________________
Gheorghe Rada
Advanced Installer Team
http://www.advancedinstaller.com

Return to “Common Problems”