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

msidbComponentAttributesPermanent


5 replies to this topic

ramshah

ramshah
  • Members
  • 6 posts

Posted 05 October 2006 - 15:35

does msidbComponentAttributesPermanent work with a patch?

Does msidbComponentAttributesPermanent work in exactly the same way for a msp
patch as it works for the msi installer?

I have a component (an exe file) installed in the systems folder. I created
a patch and it also adds the same component to the same location. In the
component table for the patch, I set the attributes section to
msidbComponentAttributesPermanent(16). But when I uninstall the patch, this
component is deleted. I thought by marking it as permanent, this should not
have been deleted.

Does msidbComponentAttributesPermanent not work with patch?



Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 05 October 2006 - 17:47

1: What type of patch are you using? Minor, Major?

2: Are you pointing to the file with the exact same GUID in both setups? If you don't then MSI is not able to establish that the same file is installed by two setups. Rather the system will think that the file has a ref-count of 1 instead of 2.
Regards
-Stein Åsmul

ramshah

ramshah
  • Members
  • 6 posts

Posted 05 October 2006 - 18:49

1: What type of patch are you using? Minor, Major?

->>>I am creating the patch using msimsp.exe

2: Are you pointing to the file with the exact same GUID in both setups? If you don't then MSI is not able to establish that the same file is installed by two setups. Rather the system will think that the file has a ref-count of 1 instead of 2.

->>>Yes the GUIDs are same. No issue with case sensitivity also.

From the patch install logs. I see the following,

MSI (s) (68:F0) [12:10:23:527]: Executing op:

ComponentRegister(ComponentId={2325FAEF-00DF-4F3E-9ABA-16CAD8C5E106},KeyPath=C:\WINDOWS\system32\abc.exe,State=3,,Disk=1,SharedDllRefCount=1,BinaryType=0)

1: {0B7B27EC-F602-4C34-A732-228EC483CA9F} 2: {2325FAEF-00DF-4F3E-9ABA-16CAD8C5E106} 3: C:\WINDOWS\system32\abc.exe

MSI (s) (68:F0) [12:10:23:527]: Executing op:

ComponentRegister(ComponentId={2325FAEF-00DF-4F3E-9ABA-16CAD8C5E106},KeyPath=C:\WINDOWS\system32\abc.exe,State=3,ProductKey={00000000-0000-0000-0000-000000000000},Disk=1,SharedDllRefCount=1,BinaryType=0)

1: {00000000-0000-0000-0000-000000000000} 2: {2325FAEF-00DF-4F3E-9ABA-16CAD8C5E106} 3: C:\WINDOWS\system32\abc.exe

Edited by ramshah, 05 October 2006 - 18:50.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 October 2006 - 08:01

The file should be there after you uninstall the patch, but in its previous (unpatched) version.

ramshah

ramshah
  • Members
  • 6 posts

Posted 06 October 2006 - 16:51

That's what I expected. But weidly, its deleting the file. From the patch uninstall logs, I see the following:

MSI (s) (68:64) [12:13:31:460]: Executing op: FileRemove(,FileName=C:\WINDOWS\system32\abc.exe,,ComponentId={2325FAEF-00DF-4F3E-9ABA-16CAD8C5E106})

and the file is completely removed. From the install logs, I see that the original file was not cached.

MSI (s) (68:F0) [12:10:21:691]: Baseline: Existing abc.exe_Hotfix version 4.0.2198.5 does not match any baseline. Will not be cached.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 October 2006 - 23:19

Please double check the component codes and file table index. Looks like Windows Installer can't match the files.