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

Patch and dynamic added files


7 replies to this topic

andi3007

andi3007
  • Members
  • 14 posts

Posted 01 November 2003 - 20:18

Hey,
I created a msi-file 0. All files were added with dynamic links, I didn't inserted each file. Just one component with dynamic added files.After that I changed 1 file and created a msi-file 2 with the msi-file 1 as basic version. And now when I make a diff of both msi-files, some component-Ids are not the same as in basic version 1. Now it's not possible to make a minor upgrade. Is this a bug of the developer or is it my fault ?Any ideas.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 November 2003 - 12:19

Did you specify the older MSI file in the Patch Optimization panel of release wizard when you built the new version?
Also don't add sub folders dynamically, only files that reside in the same folder.

andi3007

andi3007
  • Members
  • 14 posts

Posted 03 November 2003 - 15:21

Yes I added the old msi-file in optimazition. But I found the mistake, I had 2 subfolders and in both folders are one file with exactly the same name and extension. These are language files for our application.
Thanks for your help.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 09 November 2003 - 03:20

When dealing with localized files I often find it useful to use sub folders in the installation directory to hold these files. By doing this windows installer will identify the files as two different files (you need to assign different component GUID's to them of course):

Sample:
App.exe - {060D78FD-710C-454F-9274-7A97AE97629A}
ENG\lang.dll - {3E4CB794-16CC-4094-ABCE-44530F27BA04}
ENG\help.chm - {4DB7C816-7AAE-409d-AD70-6559F4C7B872}
GER\lang.dll - {8BA5EE7B-C9D0-4997-AFE8-21A4C52D4351}
GER\help.chm - {1DE0CA04-2656-47f3-A43C-BC98462D015A}

Installing files this way will also help to ensure patching works correctly.
Regards
-Stein Åsmul

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 18 November 2003 - 23:17

After working with windows installer and patching, the one advise I can give about dynamically linked files is: don't use them if you need to patch. If you do want to dynamically link files, I would manually add a keyfile to the component to ensure that the component keypath remains stable. If you don't do this the keypath for the component will/may change as files are added / removed.

It is a nightmare to always ensure that you point to the previous patch package (even though it should be simple) to the correct package. And if you glitch with this only once for a build sent to the public (and you use major upgrades), then things get hairy...
Regards
-Stein Åsmul

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 November 2003 - 09:44

One problem with dynamic links is that this "patch optimization" does not work if you dynamically include sub-folders. You should only specify one folder per dynamic link, and use additional dynmaic links for any sub folders.

hteichert

hteichert
  • Members
  • 158 posts

Posted 19 November 2003 - 10:02

There's another big problem with dynamic links concerning merge modules..
If you are using a dynamic link for a component in a merge module, it's impossible to build a new version that contains a "patch optimization" - there will always be different file-IDs for every file for a new build of your MSM. Building a patch for an application setup that includes this MSM will always contain all "new" files, leading to an explosion in patchsize.
h.teichert-ott

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 20 November 2003 - 02:40

Hmmm, never thought of this hteichert. I wonder if this could explain some problems I have had with Microsoft merge module components being uninstalled during a major upgrade patch... If I include different version of the same merge module in different setup versions (for example I upgrade to a new merge module), and the new merge module contains different GUID's for the files installed... This could cause some serious blues during application upgrade... Hope not.
Regards
-Stein Åsmul