MSI upgrade install not working


W

wizofaus

Bleh, some careless copy & pasting there...meant to be:
Hi,

I've created a "Basic MSI" project in InstallShield, that contains an
EXE and a DLL.
I run the install the first time, the EXE and DLL get installed fine.
I then rebuild the EXE & DLL, rebuild the InstallShield script, re-run
and I get the initial confirmation message about wanting to update my
installation, to which I click yes, after which the MSI installation
fires off in "resume" mode, supposedly updating the files. The thing
is...it doesn't! I've tried every option I can see, including the
"Always overwrite" property in InstallShield (which seems to set the
Version to 65535.0.0.0.0 in the MSI file), and even running msiexec
from the command line with either

msiexec /i xxx.msi REINSTALL=ALL REINSTALLMODE=va

or

msiexec /fa xxx.msi

and in neither case are the files updated.

Indeed, after running the install "update install", if you re-run the
setup.exe, it goes into "modify/repair/uninstall" mode, and here,
repair always fails to update the files.

The only two ways I can force the files to get updated are either a)
renaming/deleting the files manually first (duh), or making sure the
files are LOCKED when the update install runs (in this case, the DLL is
locked by I.E., as it's a plugin, so that's easy to achieve), in which
case the installer prompts me to close IE and retry, after which it
DOES correclty update the file to the correct version.

I've looked the msi log file (with max verbosity), and all it say is

MSI (s) (B8:84) [16:53:12:968]: Feature: NewFeature1; Installed:
Advertise; Request: Reinstall; Action: Reinstall
MSI (s) (B8:84) [16:53:12:968]: Component: xxx.exe; Installed: Local;
Request: Null; Action: Null
MSI (s) (B8:84) [16:53:12:968]: Component: xxx.dll; Installed: Local;
Request: Null; Action: Null

At this point I'm completely stuck...any clues? The only thing I
haven't tried is upping the major version # on the install itself.

(Then...)

Tried this...doesn't help at all...it even still passes
"IS_MINOR_UPGRADE=1" to msiexec (although I've not seen any evidence
this does anything).

Also, after I've tried it with the "locked" file trick (i.e., with
Internet Explorer running), it contains to work after that even when IE
isn't running. I can tell this because a) I can actually see it
display "copying new files" above the progress bar, which it hadn't
been previously, and b) if I just replace the file in a "network image"
install, and don't actually rebuild the disk image, it will update it
from there. Once I rebuild the disk image (including the msi file), it
stops working again.

Is there anyway to debug the actual process of running a minor upgrade
install?
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top