Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Upgrade Question/problem


11 replies to this topic

TAL

TAL
  • Members
  • 77 posts

Posted 10 September 2001 - 11:46

Hi,

What I am trying to do is as follows:
I have an msi file, with our product installation.
we have an  "outside" version, which we put on the web, and a "inside" version for internal use.

once in a week we built a new "internal" kit. by that we run all our images, and the msi should replace all images, even the ones that were changes only by modification date.
My problem is this -
How can upgrade the installation, so it would replace all files, and add components/files/etc.
I tried to change the ProductVersion, and the ProductId, but I got a message saying that "the program is already installed on this machine..."
So that did not work. what would?

And for the web version, every time we built a new kit, we would like to send the users a new msi, and that the new msi would run, and replace/add everything.

How do I do that?, please help figure this out, cause I really can not.

Thank you in advance...



Irina

Irina
  • Members
  • 227 posts

Posted 10 September 2001 - 18:54

Hi,
Read some topics on this site under  Windows Installer- Tools & Tips - Upgrade Rules. Change ProductVersion and PackageCode to do minor upgrade. If you want to do "one-click upgrading" create .bat file or write .exe file to execute msiexec from the command line with the parameters like this REINSTALLMODE=vomus, REINSTALL=F1,F2 ADDLOCAL=F1_add,F2_add. Read about execute msiexec from the command line in MSI help.
Good luck!

TAL

TAL
  • Members
  • 77 posts

Posted 11 September 2001 - 08:59

Thank you for that!.
But isn't there a way to do it without running an exe, and use CMD?, cann't i just make changes in the new msi file, change a few guid's, and run it on where the prev installation exsits?.
I thought about creating a patch, but if i understood correctly, it only refere to replacing files, which is just a part of what i need.

Thanks.


Irina

Irina
  • Members
  • 227 posts

Posted 11 September 2001 - 13:05

Hi,
1. You couldn't  use the same .msi file without command line because you should set properties REINSTALLMODE and REINSTALL. Otherwise I guess you will try to set these properties directly in the project or in .msi file by Orca.
2. A patch isn't good for some situations. I had a problem with patch because I use dynamic links for files. Of course, you can try it.

TAL

TAL
  • Members
  • 77 posts

Posted 11 September 2001 - 13:31

Thanks again,

In my situation i can not use patch, becuse i also have a few dll's, and i need to replace all files in every build. and i am building a new version every 3-4 days.
With regards to cmd, i set the REINATLL mode to voums inside the msi file, and also for the reinstall i gave the argument of all, so that covers it (i think).

I still can not find a soulotion for this. what do you do when upgarding?.


Irina

Irina
  • Members
  • 227 posts

Posted 11 September 2001 - 13:42

I do:
- change PackageCode,
- increase ProductVersion,
- increase version number for files which I want to replace,
- build new kit,
- run .exe file in which run .msi file with parameters  REINSTALLMODE=vomus REINSTALL=..... ADDLOCAL=....

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 September 2001 - 14:20

The "v" in vomus tells Windows Installer to use the new msi file, not the cached copy. You must do this on the command line (or in setup.ini if you're using setup.exe to launch your installation). You can't do it inside the package, because at this time the wrong package is already loaded...

I don't see why you can't use a patch?


rflum

rflum
  • Full Members
  • 40 posts

Posted 11 September 2001 - 14:58

 Stefan, I agree, TAL should be able to use a patch.  Patches are supposed to be able to add new files in addition to upgrading existing ones.
 However, I have been trying to create a patch for about a month, fiddling with the REINSTALL, REINSTALLMODE and ADDLOCAL properties and I can't even get it to upgrade existing files!
 I have had some success with the major upgrade
instructions that Robert Dickau has in the Installsite tips, but I feel like that's using a sledgehammer to kill a fly.
 TAL, my opinion is if you have a deadline that's coming soon, use Dickau's major upgrade howto.  Stefan has given rules for using the above properties in a tip here at Installsite, which are key properties to control during an upgrade.
  Good luck, Rob
P.S.  Stefan, if you can give me any tips for creating patches, please write me.  Thanks!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 September 2001 - 15:08

There are some rules to obey when creating the new version (e.g. don't add components to existing features). These are listed on the Windows Installer Tips page here on InstallSite. Note that this is no longer required with MSI 2.0.

Which files aren't updated for you? DLL/EXE etc. with version (did you increase the binary version number?) Or data files without version number?


TAL

TAL
  • Members
  • 77 posts

Posted 12 September 2001 - 09:03

Thank you guys for the help.
I still have a problem with passing parameters to CMD.
in our installation we provide 3 features, and the user can choose which one of them (or all of them) to install. therefore if I will use ADDLOCAL= and give the name of the features to be reinstalled, than I will force the user to install all features. How can use ADDLOCAL= and pass only the features that are installed on the user's machine?. meaning that I need to know before running the new msi, what features are installed, and then update only them. is it possible?.
Is there any variable I can use with ADDLOCAL= argument?.

Thanks.


Irina

Irina
  • Members
  • 227 posts

Posted 12 September 2001 - 12:46

Hi,
1. Create a subfeature for the existing feature and set Property "RemoteInstallation" as "Favor Parent" (under "Setup Design").
2. Pass to ADDLOCAL all these subfeatures and set REINSTALL as all existing feature.
3.Only features which were installed before on the computer will be reinstall. The subfeatures will be installed if the parent features is installed.
I hope it helps.

rflum

rflum
  • Full Members
  • 40 posts

Posted 13 September 2001 - 14:35

 In Tools & Tips (over there, to your left) there's a post called "Patching Tips" by Jeffrey Klug (jeffrey.klug@autodesk.com) that gives a method for doing what you want: "Obviously, with a large installation, you don't want to do a full reinstall during every patch, so a more "surgical" method is required. This means you have to specify exactly which features are being patched. Depending on the installation state of the feature in question, you need to do one of the following. If installed, add the feature to REINSTALL= command line argument. If not installed but part of the product, ignore it as it will be taken care of when the feature is activated. If not installed and NOT part of the product (i.e. a new feature) add the feature to ADDLOCAL= or ADDDEFAULT= command line argument. (comma seperated). "
Good luck!