PDA

View Full Version : How to overwrite files ? (isx 3.51)



idisscrf
10-17-2001, 11:28 AM
Hello,
I have a VB project which current version of the .exe is 2.5.3.
When I try to install this version over a 2.1.13 version (which
was installed with isx 2.13) the old files are not overwritten
with the new ones (exe and dlls).
Note that in the file properties box the checkbox "never overwrite" id not checked.

Can anybody help please ?

Chandima
10-18-2001, 08:28 AM
If you want the files to overwritten you should NOT check that property. This is what the Windows Installer help says about this proeprty:

"If this bit is set, the installer does not install or reinstall the component if a key path file or a key path registry entry for the component already exists. "

That means if you set this property to a file, and you install, if another version of this file is found on the target machine, it will "Never Overwrite" it.

Hope that makes sense :)

idisscrf
10-18-2001, 11:35 AM
I t does make sens. And it is the way I understood it.
But the fact is that this property IS NOT checked in my project
and the file are not overwritten however!
Is it necessary to create an Upgrade path to bypass this problem?

Thanks for your help.

Chandima
10-19-2001, 09:13 AM
I just realized the NOT CHECKED part in your original post :)

Was your previous project distributed with Express 2.X? Did you set the the Exe and DLL's to not be overwritten?

The Upgrade Path will work ONLY if your previous project was built with Express 3.X. This will totally uinstall the project and then install the newer one.

idisscrf
10-19-2001, 11:02 AM
Yes the previous version of my program was installed with Isx 2.13.

In Isx 2.13 we used to set this kind of properties by group
and not by file. Exe and dll files were in a goup with the "Update
file with more recent dates" option checked. It worked fine.

In Isx 3.5, I go to "Specify application data / Files" and in the
"Destination computer's files" frame I set the file properties.
(In the advanced tab I don't check "Never overwrite")

But after several attempts on differrent systems, it appears that
the old files are never overwritten with the new ones.
If the former version of the program is uninstalled, then the
new installation works well which proofs that it is a problem
of "overwriting".

I can't see what is wrong in my project.

Chandima
10-22-2001, 01:52 PM
There is nothing wrong with your project. It is just a unfortunate conflict of technologies. Express 2.X used our installscript to perform the installation and UI while Express 3.X uses the Microsoft Windows Installer to do everything. The Windows Installer requires an msi file (which is a database with about 110 tables). Express 3.X takes the user input and at build time generates this msi file. Once the Setup is run the Windows Installer takes over and installs the items according to specifications in the msi file.

This could even be a bug with Express 2.13 which set's a property that keeps Windows Installer from overwriting these files. The current workaround for you would be to uninstall the previous version through a Custom Action and then install the newer version.

Besides getting the newer files installed it will make your product more compatible for future updates because it will be Windows Installer based (And Microsoft are working hard to make it the Installation standard). So in future for minor upgrades like replaceing select files you use patches.

Andrew Badge
10-22-2001, 08:23 PM
Hi idisscrf ,

I have exactly the same situation with Express 2 to 3.51. I had to write a vb app to delete the old files during the 3.51 installation. From then the upgrade process seems to work (most of the time) as there were no files to overwrite...don't forget to hard code a 'pause' after delete the old files otherwise 3.51 is too quick to detect the changes.

Real pain in the arse. 3.51 seems alot more flakey than version 2. Doesn't always install files correctly (or at all on some computers).

I know they out this down to the MSI but it reflects badly on Installshield express. Very dissappointed with the upgrade to 3.51.

Regards,

Andrew

idisscrf
10-23-2001, 04:21 AM
Hi,

Thanks both for your explanations.
I'll do the same work as Andrew (not too much PITA I hope ;))

I have to confess that I'm disappointed with Isx 3.5 too.
It's quite hard to get started with it compared to Isx 2
but the filan benefit is not obvious...
It clearly appears that the main problems come from MSI.

Thanks again for your help.

NewsArchive
01-15-2002, 01:00 AM
Steve,
Thanks for your reply. I tried it, but it didn't work properly. If I add the
REINSTALL=ALL property then the maintenance dialog will not be shown (I
cannot choose modify, repair or remove option) and I have no entry in the
Add/Remove dialog, I cannot uninstall the product. And without the REINSTALL
property the repair option in the maintenance dialog doesn't overwrite the
older files.

Thanks again,
David


"Steve Ryder" <steve@penlieu.com> wrote in message
news:3c43262c$1@news.installshield.com...
> You're halfway there. Add REINSTALLMODE=voums or vaums (o=older a=all) in
> addition to your REINSTALL=ALL. Of particular note is that REINSTALL=ALL
> does not install features that may be new to subsquent releases. For new
> features, you'll need to a Type-51 custom action. Once it all runs the
way
> you wish, you can force the whole thing silent using additional
command-line
> parameters.
>
> Good luck!
> Steve
>
> "David Bajgar" <dbajgar@pantek.cz> wrote in message
> news:3c429a2b@news.installshield.com...
> > Hello,
> > I've created an installation. Now I have the same installation, but it
> > installs the newest version of files. If I install this installation on
> the
> > same computer the maintenance dialog will be opened. It is OK, but I
want
> > the Repair option will overwrite the existing files and it doesn't work.
I
> > tried to add the REINSTALL=ALL line to the setup.ini file, it worked if
I
> > run the setup.exe, but I want this functionality in the msi file.
> >
> > Can somebody help me?
> > Thanks in advance
> >
> > David Bajgar
> >
> >
>
>

NewsArchive
01-15-2002, 01:00 AM
You seem to believe that running your new msi file and getting into
maintenance mode is somehow going to use the new msi file. It isn't. When it
goes into maintenance mode it's doing what Add/remove Programs Change would
do, and anything you do adding/removing features will use the installed copy
of the product, not that new version you've got there.

Steve is right: First use REINSTALL and REINSTALLMODE to get your new msi
file to be cached as the actual product on the system, then maintenance mode
will add/remove features from the new version. Your other alternative is to
do a major upgrade, which will silently uninstall the old version, then
install the new version, and go into custom if you want to change the
feature content.

"David Bajgar" <dbajgar@pantek.cz> wrote in message
news:3c43e7a8$1@news.installshield.com...
> Steve,
> Thanks for your reply. I tried it, but it didn't work properly. If I add
the
> REINSTALL=ALL property then the maintenance dialog will not be shown (I
> cannot choose modify, repair or remove option) and I have no entry in the
> Add/Remove dialog, I cannot uninstall the product. And without the
REINSTALL
> property the repair option in the maintenance dialog doesn't overwrite the
> older files.
>
> Thanks again,
> David
>
>
> "Steve Ryder" <steve@penlieu.com> wrote in message
> news:3c43262c$1@news.installshield.com...
> > You're halfway there. Add REINSTALLMODE=voums or vaums (o=older a=all)
in
> > addition to your REINSTALL=ALL. Of particular note is that
REINSTALL=ALL
> > does not install features that may be new to subsquent releases. For
new
> > features, you'll need to a Type-51 custom action. Once it all runs the
> way
> > you wish, you can force the whole thing silent using additional
> command-line
> > parameters.
> >
> > Good luck!
> > Steve
> >
> > "David Bajgar" <dbajgar@pantek.cz> wrote in message
> > news:3c429a2b@news.installshield.com...
> > > Hello,
> > > I've created an installation. Now I have the same installation, but it

> > > installs the newest version of files. If I install this installation
on
> > the
> > > same computer the maintenance dialog will be opened. It is OK, but I
> want
> > > the Repair option will overwrite the existing files and it doesn't
work.
> I
> > > tried to add the REINSTALL=ALL line to the setup.ini file, it worked
if
> I
> > > run the setup.exe, but I want this functionality in the msi file.
> > >
> > > Can somebody help me?
> > > Thanks in advance
> > >
> > > David Bajgar
> > >
> > >
> >
> >
>
>

NewsArchive
01-16-2002, 01:00 AM
OK. The major upgrade is fine for me. I will use it.

Thanks for help,
David


"Phil Wilson" <phil.wilson@nospam.unisys.com> wrote in message
news:3c4499cc$1@news.installshield.com...
> You seem to believe that running your new msi file and getting into
> maintenance mode is somehow going to use the new msi file. It isn't. When
it
> goes into maintenance mode it's doing what Add/remove Programs Change
would
> do, and anything you do adding/removing features will use the installed
copy
> of the product, not that new version you've got there.
>
> Steve is right: First use REINSTALL and REINSTALLMODE to get your new msi
> file to be cached as the actual product on the system, then maintenance
mode
> will add/remove features from the new version. Your other alternative is
to
> do a major upgrade, which will silently uninstall the old version, then
> install the new version, and go into custom if you want to change the
> feature content.
>
> "David Bajgar" <dbajgar@pantek.cz> wrote in message
> news:3c43e7a8$1@news.installshield.com...
> > Steve,
> > Thanks for your reply. I tried it, but it didn't work properly. If I add
> the
> > REINSTALL=ALL property then the maintenance dialog will not be shown (I
> > cannot choose modify, repair or remove option) and I have no entry in
the
> > Add/Remove dialog, I cannot uninstall the product. And without the
> REINSTALL
> > property the repair option in the maintenance dialog doesn't overwrite
the
> > older files.
> >
> > Thanks again,
> > David
> >
> >
> > "Steve Ryder" <steve@penlieu.com> wrote in message
> > news:3c43262c$1@news.installshield.com...
> > > You're halfway there. Add REINSTALLMODE=voums or vaums (o=older
a=all)
> in
> > > addition to your REINSTALL=ALL. Of particular note is that
> REINSTALL=ALL
> > > does not install features that may be new to subsquent releases. For
> new
> > > features, you'll need to a Type-51 custom action. Once it all runs
the
> > way
> > > you wish, you can force the whole thing silent using additional
> > command-line
> > > parameters.
> > >
> > > Good luck!
> > > Steve
> > >
> > > "David Bajgar" <dbajgar@pantek.cz> wrote in message
> > > news:3c429a2b@news.installshield.com...
> > > > Hello,
> > > > I've created an installation. Now I have the same installation, but
it
>
> > > > installs the newest version of files. If I install this installation
> on
> > > the
> > > > same computer the maintenance dialog will be opened. It is OK, but I
> > want
> > > > the Repair option will overwrite the existing files and it doesn't
> work.
> > I
> > > > tried to add the REINSTALL=ALL line to the setup.ini file, it worked
> if
> > I
> > > > run the setup.exe, but I want this functionality in the msi file.
> > > >
> > > > Can somebody help me?
> > > > Thanks in advance
> > > >
> > > > David Bajgar
> > > >
> > > >
> > >
> > >
> >
> >
>
>