Bugs item #1945492, was opened at 2008-04-18 01:27
Message generated for change (Comment added) made by robmen
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1945492&group_id=105970
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
>Group: v2.0
>Status: Closed
>Resolution: Works For Me
Priority: 5
Private: No
Submitted By: Thomas Moerkerken (tm001)
Assigned to: Nobody/Anonymous (nobody)
Summary: CA action failing but not reporting failure in wix 2
Initial Comment:
Hi Team,
Im having problems with installers adding an application pool and a virtual dir
in IIS 6.0. It sometimes goes wrong installing on our production machines, but
reports a successful installation. Simply uninstalling and installing again
resolves the issue.
I was not able to reproduce this on my development machine. I could however
recover a log from one of our productionmachines where it shows the failure.
Im guessing the item added to IIS is not important since its the
WriteMetabaseChanges function being troublesome.
Expected behaviour:
* WiX adds the apppool / vdir to IIS
* WiX performs a rollback if it cannot add the apppool / vdir
Actual behaviour
* WiX does not always add the apppool / vdir
* WiX does not perform a rollback if it cannot add the apppool / vdir
System: Windows 2003 Server
WiX version: 2.0.5805
a failed MSI Log:
<snip>
MSI (s) (B4:8C) [11:02:50:969]: Running as a service.
MSI (s) (B4:8C) [11:02:50:969]: Hello, I'm your 32bit Elevated custom action
server.
MSI (s) (B4:C0) [11:02:51:266]: Executing op:
ActionStart(Name=StartMetabaseTransaction,Description=Starting IIS Metabase
Transaction,)
MSI (s) (B4:C0) [11:02:51:266]: Executing op:
CustomActionSchedule(Action=StartMetabaseTransaction,ActionType=11265,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (B4:9C) [11:02:51:297]: Invoking remote custom action. DLL:
C:\WINDOWS\Installer\MSI5C.tmp, Entrypoint: StartMetabaseTransaction
MSI (s) (B4:C0) [11:02:51:406]: Executing op:
ActionStart(Name=RollbackMetabaseTransaction,Description=Rolling back IIS
Metabase Transaction,)
MSI (s) (B4:C0) [11:02:51:406]: Executing op:
CustomActionSchedule(Action=RollbackMetabaseTransaction,ActionType=11521,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (B4:C0) [11:02:51:406]: Executing op:
ActionStart(Name=CommitMetabaseTransaction,Description=Committing IIS Metabase
Transaction,)
MSI (s) (B4:C0) [11:02:51:406]: Executing op:
CustomActionSchedule(Action=CommitMetabaseTransaction,ActionType=11777,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (B4:C0) [11:02:51:406]: Executing op:
ActionStart(Name=WriteMetabaseChanges,Description=Installing Metabase Keys and
Values,)
MSI (s) (B4:C0) [11:02:51:406]: Executing op:
CustomActionSchedule(Action=WriteMetabaseChanges,ActionType=11265,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (B4:F0) [11:02:51:438]: Invoking remote custom action. DLL:
C:\WINDOWS\Installer\MSI5D.tmp, Entrypoint: WriteMetabaseChanges
WriteMetabaseChanges: failed to open '/LM/W3SVC/863870699/Root/vdir/' key,
retrying 0 time(s)...
MSI (s) (B4:C0) [11:02:52:688]: Executing op:
ActionStart(Name=WriteRegistryValues,Description=Writing system registry
values,Template=Key: [1], Name: [2], Value: [3])
MSI (s) (B4:C0) [11:02:52:688]: Executing op:
ProgressTotal(Total=5,Type=1,ByteEquivalent=13200)
MSI (s) (B4:C0) [11:02:52:703]: Executing op:
RegOpenKey(Root=-2147483646,Key=Software\My Company\My
Application,,BinaryType=0)
MSI (s) (B4:C0) [11:02:52:703]: Executing op:
RegAddValue(Name=WebSite,Value=CustomSite,)
</snip>
Looking into the WriteMetabaseChanges function leads me to the following code:
hr = piMetabase->OpenKey(METADATA_MASTER_ROOT_HANDLE, L"/LM",
METADATA_PERMISSION_WRITE, 10, &mhKey);
for (i = 0; i < 30 && HRESULT_FROM_WIN32(ERROR_PATH_BUSY) == hr; i++)
{
::Sleep(1000);
WcaLog(LOGMSG_STANDARD, "failed to open '%S' key, retrying %d
time(s)...", pwzKey, i);
hr = piMetabase->OpenKey(METADATA_MASTER_ROOT_HANDLE, pwzKey,
METADATA_PERMISSION_WRITE, 10, &mhKey);
}
Im no C++ guru but I would expect this to try 30 times, but I do not see this
in my log. Also note that the arguments on the OpenKey function differ: L"/LM"
on the first statement and pwzKey on the last.
Can someone help me find a good fix?
Thanks,
Thomas
----------------------------------------------------------------------
>Comment By: Rob Mensching (robmen)
Date: 2008-05-01 20:04
Message:
Logged In: YES
user_id=991639
Originator: NO
This was a bug in a previous versoin of the WiX toolset that I was pretty
sure was fixed in the latest drop of WiX v2. Can you try that and see if
it is fixed. If not, reopen this bug and any extra information would be
appreciated.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1945492&group_id=105970
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs