http://bugs.winehq.org/show_bug.cgi?id=29354 --- Comment #3 from Anastasius Focht <focht(a)gmx.net> 2011-12-16 14:19:21 CST --- Hello Hans, I looked again with ORCA and it seems in silent mode "CA_ValidatePID" custom action is explicitly referenced. Dump of "InstallExecuteSequence" table, ordered by "id": --- snip --- SystemFolder.3D2F911E_A60A_4C07_8F7D_5306DC073E9A 1 WindowsFolder.3D2F911E_A60A_4C07_8F7D_5306DC073E9A 1 AppSearch 50 LaunchConditions 100 CA_CheckForVMMService.3D2F911E_A60A_4C07_8F7D_5306DC073E9A 1 101 VMMImmediateRebootRequired.3D2F911E_A60A_4C07_8F7D_5306DC073E9A VMM_RebootNecessary.3D2F911E_A60A_4C07_8F7D_5306DC073E9A=1 And $VMMDriver.3D2F911E_A60A_4C07_8F7D_5306DC073E9A = 3 102 CA_CheckOldInstallForAllUsers Not Installed AND (UILevel="2" OR UILevel="3" OR UILevel="4") AND Not PATCH 198 CA_ValidatePID PATCH OR (Not INSTALLED AND (UILevel="2" OR UILevel="3" OR UILevel="4")) 199 FindRelatedProducts 200 Error_FutureBuildInstalled Not Installed And (FUTUREBUILDINSTALLED) 201 ValidateProductID 700 CostInitialize 800 FileCost 900 --- snip -- "CA_ValidatePID" -> id = 199 "ValidateProductID" -> id = 700 Install works: --- snip --- $ wine msiexec -i Virtual_PC_2007_Install.msi /q --- snip --- Dumping "InstallUISequence", ordered by id: --- snip --- SetupCompleteErrorDialog -3 SetupInterruptedDialog -2 SetupCompleteSuccessDialog -1 SystemFolder.3D2F911E_A60A_4C07_8F7D_5306DC073E9A 1 WindowsFolder.3D2F911E_A60A_4C07_8F7D_5306DC073E9A 1 AppSearch 50 CA_CheckOldInstallForAllUsers Not Installed 199 FindRelatedProducts 200 Error_FutureBuildInstalled FUTUREBUILDINSTALLED 201 ValidateProductID 700 CostInitialize 800 FileCost 900 CostFinalize 1000 InstallWelcomeDialog Not Installed 1001 ErrorAdminPrivilegeDialog Not AdminUser 1002 ErrorMustUninstallDialog ERROR_MUST_UNINSTALL 1003 ErrorMustUninstallTrialDialog ERROR_MUST_UNINSTALL_TRIAL 1004 ErrorMustUninstallVPC52Dialog ERROR_MUST_UNINSTALL_VPC52 1005 ErrorMustUninstallVSPreviewDialog ERROR_MUST_UNINSTALL_VS_PREVIEW 1006 ErrorUnsupportedOSDialog ERROR_UNSUPP_OS 1007 WarningUnsupportedInstallationDialog Not Installed AND ERROR_UNSUPP_INS 1008 LicenseAgreementDialog Not Installed 1009 RemoveWelcomeDialog Installed AND Not PATCH 1010 SetupProgressDialog 1011 MigrateFeatureStates 1200 --- snip --- "ValidateProductID" -> id = 700 When you google using '+"Adding PIDRET property" +CustomerInformationDialog' keywords you find msi verbose log of someone who installed VPC 2007 on Windows: (unicode log): http://attachments.techguy.org/attachments/132724d1212217445/vpcinstalllog.t... Interesting parts (compare with UI sequence tabled dumped with ORCA): --- snip --- MSI (c) (D0:6C) [23:32:15:552]: UI Sequence table 'InstallUISequence' is present and populated. MSI (c) (D0:6C) [23:32:15:552]: Running UISequence MSI (c) (D0:6C) [23:32:15:552]: PROPERTY CHANGE: Adding EXECUTEACTION property. Its value is 'INSTALL'. ... MSI (c) (D0:6C) [23:32:15:553]: Doing action: AppSearch ... MSI (c) (D0:6C) [23:32:15:555]: Doing action: CA_CheckOldInstallForAllUsers ... MSI (c) (D0:6C) [23:32:15:586]: Doing action: FindRelatedProducts ... MSI (c) (D0:6C) [23:32:15:586]: Skipping action: Error_FutureBuildInstalled (condition is false) ... MSI (c) (D0:6C) [23:32:15:586]: Doing action: ValidateProductID Action 23:32:15: ValidateProductID. Action start 23:32:15: ValidateProductID. Action ended 23:32:15: ValidateProductID. Return value 1. MSI (c) (D0:6C) [23:32:15:587]: Doing action: CostInitialize ... MSI (c) (D0:6C) [23:32:15:589]: Doing action: CostFinalize ... MSI (c) (D0:6C) [23:32:15:592]: Doing action: InstallWelcomeDialog ... MSI (c) (D0:48) [23:32:17:093]: Doing action: CA_CheckIfWeCanInstall ... MSI (c) (D0:6C) [23:32:17:104]: Doing action: LicenseAgreementDialog ... Action 23:32:17: LicenseAgreementDialog. Dialog created MSI (c) (D0:48) [23:32:18:597]: PROPERTY CHANGE: Modifying AgreeToLicense property. Its current value is 'No'. Its new value: 'Yes'. Action 23:32:22: CustomerInformationDialog. Dialog created MSI (c) (D0:48) [23:32:23:485]: Doing action: CA_ValidatePID Action 23:32:23: CA_ValidatePID. Validating the product key Action start 23:32:23: CA_ValidatePID. MSI (c) (D0:EC) [23:32:23:486]: Invoking remote custom action. DLL: C:\Users\JOELST~1\AppData\Local\Temp\MSIF7AD.tmp, Entrypoint: ValidateProductID ... MSI (c) (D0!30) [23:32:23:629]: PROPERTY CHANGE: Adding PID property. Its value is '74216-270-1903431-41429'. MSI (c) (D0!30) [23:32:23:629]: PROPERTY CHANGE: Adding ProductID property. Its value is '74216-270-1903431-41429'. MSI (c) (D0!30) [23:32:23:629]: PROPERTY CHANGE: Adding DPID property. Its value is 'xxx'. MSI (c) (D0!30) [23:32:23:629]: PROPERTY CHANGE: Adding DigitalProductID property. Its value is 'xxx'. MSI (c) (D0!30) [23:32:23:630]: PROPERTY CHANGE: Adding PIDRET property. Its value is '0'. ... Action ended 23:32:23: CA_ValidatePID. Return value 1. MSI (c) (D0:48) [23:32:23:630]: Doing action: CA_InstallForAllUsers ... --- snip --- That log shows that: 1) in UI install "ValidateProductID" is called before "CA_ValidatePID" due to explicit sequence entry. 2) "CA_ValidatePID" is called immediately after "CustomerInformationDialog" dialog is created. ORCA table dump of "ControlEvent" table for "CustomerInformationDialog" shows that "CA_ValidatePID" can't be called unless the expression 'NOT ProductID AND PIDKEY AND PIDKEY<>" "' evaluates to true. Googling further I found a hint in the following mailing list post (Wix installer): http://sourceforge.net/mailarchive/message.php?msg_id=28023449 --- quote --- Server ValidateProductID sets ProductID respondingly: MSI (s) (0C:E4) [15:28:07:917]: Doing action: ValidateProductID Action 15:28:07: ValidateProductID. Action start 15:28:07: ValidateProductID. MSI (s) (0C:E4) [15:28:07:918]: PROPERTY CHANGE: Adding ProductID property. Its value is 'TES-TTES-1234'. Action ended 15:28:07: ValidateProductID. Return value 1. --- quote --- The comment explicitly mentions "Server side" and the log indeed shows "MSI (s)" It seems there is a distinction made between MSI client vs. MSI server side. "ValidateProductID" on server side -> "ProductID" property globally added? "ValidateProductID" on client side -> "ProductID" property not added? Could that be the culprit? Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.