[Bug 29354] New: Microsoft Virtual PC 2007 SP1 installer fails to get past the "Product Key" dialog

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Dec 15 13:12:15 CST 2011


http://bugs.winehq.org/show_bug.cgi?id=29354

             Bug #: 29354
           Summary: Microsoft Virtual PC 2007 SP1 installer fails to get
                    past the "Product Key" dialog
           Product: Wine
           Version: 1.3.34
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: msi
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net
    Classification: Unclassified


Hello,

split off bug mentioned in http://bugs.winehq.org/show_bug.cgi?id=17512#c3 to
track what is most likely a regression ...

--- quote ---
Tested in 1.3.19
Didn't crash but I couldn't get past the "Product Key" screen. The "Next"
button didn't seem to do anything.
--- quote ---

The problem in Microsoft Virtual PC 2007 SP1 installer is the
"ValidateProductID" standard action.

Dump using ORCA:

--- snip ---
CustomerInformationDialog    NextButton    NewDialog    ReadyToInstallDialog   
PIDRET = 0    4
CustomerInformationDialog    NextButton    DoAction    CA_ValidatePID    NOT
ProductID AND PIDKEY AND PIDKEY<>"                         "    1
CustomerInformationDialog    NextButton    DoAction    CA_InstallForAllUsers   
NOT VPC2004INSTALLED    2
CustomerInformationDialog    NextButton    DoAction   
CA_SetTargetPathOnUpgrade    VPC2004INSTALLED    3 
--- snip ---

First condition, if true -> CA_ValidatePID gets executed.

--- snip ---
0023:trace:msi:MSI_EvaluateConditionW L"NOT ProductID AND PIDKEY AND PIDKEY<>\"
                        \"" 
...
0023:trace:msi:msi_get_property returning L"PWCVDGDPM7P23VYG6QM4R8Y8T" for
property L"ProductID" 
...
0023:trace:msi:msi_get_property returning L"PWCVDGDPM7P23VYG6QM4R8Y8T" for
property L"PIDKEY" 
...
0023:trace:msi:MSI_EvaluateConditionW 0 <- L"NOT ProductID AND PIDKEY AND
PIDKEY<>\"                         \"" 
--- snip ---

(not fulfilled)

Another condition to reach "ReadyToInstallDialog" is "PIDRET = 0".

--- snip ---
0023:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 10 L"Action start
18:26:06: ValidateProductID." 
0023:trace:msi:msi_get_property returning
L"74216<````=````=````=````=`````>@@@@@" for property L"PIDTemplate" 
0023:fixme:msi:ACTION_ValidateProductID partial stub: template
L"74216<````=````=````=````=`````>@@@@@" key L"PWCVDGDPM7P23VYG6QM4R8Y8T" 
0023:trace:msi:msi_set_property 0x13ce60 L"ProductID"
L"PWCVDGDPM7P23VYG6QM4R8Y8T" 
0023:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 10 L"Action ended
18:26:06: ValidateProductID. Return value 0." 
...
0023:trace:msi:MSI_EvaluateConditionW L"PIDRET = 0" 
0023:trace:msi:msi_get_property property L"PIDRET" not found 
0023:trace:msi:MSI_EvaluateConditionW 0 <- L"PIDRET = 0"  
--- snip ---

The "PIDRET" property never exists hence the installation is stuck in
"CustomerInformationDialog".

If you google for "Adding PIDRET property" you will find many similar looking
msi logs, suggesting that this property is added during ValidatePID custom
action:

--- snip ---
MSI (c) (DC:20) [17:55:05:750]: Doing action: ValidatePID
MSI (c) (DC:20) [17:55:05:750]: Note: 1: 2205 2:  3: ActionText
Action 17:55:05: ValidatePID.
Action start 17:55:05: ValidatePID.
...
MSI (c) (DC!3C) [17:55:05:875]: PROPERTY CHANGE: Adding PID property. Its value
is '58730-000-0000007-05734'.
MSI (c) (DC!3C) [17:55:05:875]: PROPERTY CHANGE: Adding ProductID property. Its
value is '58730-000-0000007-05734'.
...
MSI (c) (DC!3C) [17:55:05:875]: PROPERTY CHANGE: Adding PIDRET property. Its
value is '0'.
Action ended 17:55:05: ValidatePID. Return value 1.
--- snip ---

Because ProductID was set earlier during ValidateProductID standard action,
CA_ValidatePID is never executed.

http://source.winehq.org/git/wine.git/blob/8cc5561fbf9f3250fbd2d986390e4013e8c9f31b:/dlls/msi/action.c#l6873

If you remove line 6891 the installer executes the custom action which allows
to proceed and let the installation finally succeed.

You need 'winetricks mfc42' for CA_ValidatePID.

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.



More information about the wine-bugs mailing list