Groups | Blog | Home
all groups > dotnet setup > february 2005 >

dotnet setup : Executable not updated


Sholto Douglas
2/17/2005 6:41:02 PM
Hello,
I have created a typical setup project, containing a main executable along
with attendant DLL's, OCX's and icons/bitmaps. Using .NET 1.1 and VS 2003.
I am having a problem when installing a new version over an existing
version. It seems all the secondary files (DLL's etc) are updated, but the
main executable is not.
I have set the project's RemovePreviousVersions to True (and False), but it
makes no difference. The only way to install the latest executable is to
delete the existing one. I have found reference to similar problems, but not
this one. Phil Wilson mentioned that there were 'issues' with this property
in VS.NET. Is this one of them?
--
Cheers,
Sholto Douglas
CyTrack Telecommunications
Phil Wilson
2/19/2005 11:04:03 AM
RemovePreviousVersions is basically an uninstall followed by an install, all
happening within the same install. You can get problems if the original
product was installed for Everyone (or just me) and the upgrade with the
opposite. This is just the way Windows Installer works. Did you increment
the file version of your exe? What do you mean by "latest"? And is it
possible that the exe is in-use during the install?
If you install with RemovePreviousVersions true with a command line:
msiexec /i <path to msi> /l*v somelog.log
you can zip up the log and post it.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

[quoted text, click to view]

Sholto Douglas
2/20/2005 3:57:02 PM
Thanks Phil,
I figured it out, courtesy of one of your suggestions.
I had originally let VS specify default Revision and Build numbers with:

AssemblyVersion("5.1.*")]

This generated a version like "5.1.1873.19265".
I found that I could not predict when the build number (the 3rd component of
the version string) would increment, so took that back under my control, so
that only the final component (the Revision) was left to default.

AssemblyVersion("5.1.2.*")]

I'm sure you can guess the rest...
Obviously the build number 2 is less than the number 1873 (well it was when
I went to school), so the installer was (correctly) not overwriting the
existing file. I had also set the DetectNewerInstalledVersion property to
True.
Silly boy.

Anyway, thanks again for your help.
Cheers,
Sholto

[quoted text, click to view]
AddThis Social Bookmark Button