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

Component Condition not Evaluated during Repair


1 reply to this topic

Tone

Tone
  • Members
  • 3 posts

Posted 17 November 2005 - 23:44

Hi,

I am using appsearch to populate CURRENTDEVICEPATH with HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath

The value "C:\Drivers\dj450.prn" is then appended to registry value if it does not exist using following condition on component registry1:

Settings for Component Registry1:
Shared: No
Condition: NOT ( (CURRENTDEVICEPATH~><";C:\Drivers\dj450.prn\") OR (CURRENTDEVICEPATH~><";C:\Drivers\dj450.prn") )
Permanent: Yes
Reevaluate Condition: Yes
Never Overwrite: No

The above condition is not evaluated during a repair and keeps appending "C:\Drivers\dj450.prn" to DevicePath value.

If is I set the Reevaluate Condition to Yes to make it a transitive component the condition is evaluated and the following happens:

If "C:\Drivers\dj450.prn" does not exist in the devicepath it is added..

CODE
MSI (s) (F4:FC) [20:42:28:375]: Feature: HP_DJ450; Installed: Local;   Request: Reinstall;   Action: Reinstall
MSI (s) (F4:FC) [20:42:28:375]: [B]Component: registry1; Installed: Local;   Request: Local;   Action: Local[/B]
MSI (s) (F4:FC) [20:42:28:375]: Component: HPWDRPP0.DL_; Installed: Local;   Request: Local;   Action: Local
MSI (s) (F4:FC) [20:42:28:375]: Component: __registry165; Installed: Null;   Request: Local;   Action: Local


If "C:\Drivers\dj450.prn" does exist in the devicepath then the component is uninstalled and value deleted..

CODE
MSI (s) (A4:C0) [22:21:36:859]: Feature: HP_DJ450; Installed: Local;   Request: Reinstall;   Action: Reinstall
MSI (s) (A4:C0) [22:21:36:859]: [B]Component: registry1; Installed: Local;   Request: Local;   Action: Absent[/B]
MSI (s) (A4:C0) [22:21:36:859]: Component: HPWDRPP0.DL_; Installed: Local;   Request: Local;   Action: Local
MSI (s) (A4:C0) [22:21:36:859]: Component: __registry165; Installed: Null;   Request: Local;   Action: Absent


Is there anyway of the condition being false and the component not being removed during repair..?

(MSI is called from command line with the /passive switch)

Thanks..

Tone

Tone
  • Members
  • 3 posts

Posted 17 November 2005 - 23:55

I have delivered the drivers using printui.dll, would like to use this for other packages if its possible..

Thanks..