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 removes unversionned files


4 replies to this topic

dtieuf

dtieuf
  • Full Members
  • 31 posts

Posted 27 February 2006 - 22:51

Hi all,

the original msi contains a few features, where one feature = one file.chm and a few files.pdf. Each is the key of its own component.

The difference between v.1 and v.1.1 is one file.chm, no other file has changed.

When I do a minor upgrade using the full v.1.1 package, the product is properly upgraded.

When I apply the patch (REINSTALL=ALL REINSTALLMODE=omus), the file.chm gets upgraded, but the files.pdf of the same feature get removed ! sad.gif

I have this in the log for the feature:
MSI (s) (C0:AC) [15:46:11:490]: Feature: MyFeature; Installed: Local; Request: Reinstall; Action: Reinstall

And this for a component that shouldn't be involved in the patch:
MSI (s) (C0:AC) [15:46:11:490]: Component: _5113g05f.pdf_2005; Installed: Local; Request: Local; Action: Local
....
ProcessComponents: Updating component registration
MSI (s) (C0:AC) [15:46:12:771]: Executing op: ComponentRegister(ComponentId={12AFD6E3-0821-413F-BB98-AACE08B747CE},KeyPath=C:\Program Files\MyProduct\Sub1\Sub2\Sub3\5113g-05f.pdf,State=3,,Disk=1,SharedDllRefCount=0,BinaryType=0)
....
MSI (s) (C0:AC) [15:46:12:880]: Executing op: FileRemove(,FileName=5113g-05f.pdf,,)
RemoveFiles: Removing file: C:\Program Files\MyProduct\Sub1\Sub2\Sub3\5113g-05f.pdf
MSI (s) (C0:AC) [15:46:12:896]: Verifying accessibility of file: 5113g-05f.pdf
....

Does anyone know what's going on ?

Thank you

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 February 2006 - 16:15

Do you have an entry in the RemoveFile table for this file?

dtieuf

dtieuf
  • Full Members
  • 31 posts

Posted 28 February 2006 - 17:00

I do have entries in the RemoveFile table, but none refer to the vanishing components.

The typical RemoveFile entry is:
FileKey = rf_othercomponentid
Component_ = othercomponentid
FileName = *.*
DirProperty = Dir
InstallMode = msidbRemoveFileInstallModeOnBoth

Isn't *.* only relevant to othercomponentid ?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 February 2006 - 18:37

This will delete ALL files (*.*) in folder Dir, if component rf_othercomponentid
is either being installed or uninstalled. The component reference only serves as a condition for the remove action but it doesn't limit the files.

dtieuf

dtieuf
  • Full Members
  • 31 posts

Posted 28 February 2006 - 22:08

I see!

I thought it was meant for "delete all files that are part of this component"... but then as per a component's definition, there would be no point in specifying the directory here....! rolleyes.gif

Many thanks for this quick response!

Sophie