Rob,
Have now tested build 4813. Looks okay. Ran the install three times
with no ConfigureSQL issue (Log looks good).
However for your info the install then fails with a "Failed to read
IIsWebs table". I have made no changes to this part of the install, and
there is an IIsWebSite table (using Orca to double check).
Log details:
ConfigureIIs: Skipping ScaInstallWebSvcExt() because
IIsWebServiceExtension table not present
ConfigureIIs: Skipping ScaInstallAppPool() - required table not
present
ConfigureIIs: Skipping ScaInstallMimeMap() - required table not
present
ConfigureIIs: Skipping ScaGetHttpHeaders() - required tables not
present.
ConfigureIIs: Skipping ScaGetWebErrors() - required tables not
present.
ConfigureIIs: Error 0x80004004: IIsWebSiteCertificates table does
not exists or error.
ConfigureIIs: Error 0x80004004: Failed to get SSL Certificates.
ConfigureIIs: Error 0x80004004: failed to read IIsWebSite table
Error 26002. Failed to read IIsWebs table. (-2147467260 )
MSI (s) (9C!30) [10:06:25:770]: Product: CINS -- Error 26002. Failed
to read IIsWebs table. (-2147467260 )
At this point I need to move forward internally so I will be using build
4415 with a modified scasched.dll for the moment.
Regards
Michael
_____
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Michael
Osmond
Sent: Friday, 15 December 2006 12:57 PM
To: Rob Mensching; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Testing the ConfigureSQL fix
Okay.
Probably won't get to it today. Will definitely get at it on Monday. (
Is it today or yesterday there? )
Michael
_____
From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Friday, 15 December 2006 12:55 PM
To: Michael Osmond; wix-users@lists.sourceforge.net
Subject: RE: Testing the ConfigureSQL fix
Oh, sorry, I busted that build and tried to get a fix out really fast
(that's why there is a build 2 days later). I hadn't heard from you so
I thought maybe I squeaked it in. I should have sent mail as soon as I
found the bug I introduced.
Anyway, if you could grab the latest WiX v2 build instead, I think that
will work much, much better.
From: Michael Osmond [mailto:[EMAIL PROTECTED]
Sent: Thursday, December 14, 2006 18:48
To: Rob Mensching; wix-users@lists.sourceforge.net
Subject: RE: Testing the ConfigureSQL fix
2.0.4809 I grabbed it on wednesday I think
_____
From: Rob Mensching [mailto:[EMAIL PROTECTED]
Sent: Friday, 15 December 2006 12:43 PM
To: Michael Osmond; wix-users@lists.sourceforge.net
Subject: RE: Testing the ConfigureSQL fix
What build are you using?
From: Michael Osmond [mailto:[EMAIL PROTECTED]
Sent: Thursday, December 14, 2006 17:35
To: wix-users@lists.sourceforge.net; Rob Mensching
Subject: Testing the ConfigureSQL fix
Hello Rob,
I only got back to testing this today - one busy week.
Build 4809 displayed a similar (or same) error - that is the custom
action crashes and you get the unclosed handles. I have spent a little
time to track down where in the code it is occuring.
Its in StrAllocStringAnsi - but now right at the start of the process.
In the call:
cch = MemSize(*ppwz); // get the count in bytes so we can check
if it failed (returns -1)
Below is the debug messages I added to the function to locate the error.
And below that the actual output.
Sorry its taken this long to get to it.
Michael
=============================================
/********************************************************************
StrAllocStringAnsi - allocates or reuses dynamic string memory and
copies in an existing ANSI string
NOTE: caller is responsible for freeing ppwz even if function fails
NOTE: cchSource must equal the length of wzSource (not including the
NULL terminator)
NOTE: if cchSource == 0, length of wzSource is used instead
********************************************************************/
extern "C" HRESULT DAPI StrAllocStringAnsi(
__inout LPWSTR* ppwz,
__in LPCSTR szSource,
__in DWORD_PTR cchSource,
__in UINT uiCodepage
)
{
Assert(ppwz && szSource);
HRESULT hr = S_OK;
LPWSTR pwz = NULL;
DWORD_PTR cch = 0;
DWORD_PTR cchDest = cchSource; // at least enough
OutputDebugStringA("#### Starting StrAllocStringAnsi !! 4809 x 2\r\n");
if (*ppwz)
{
OutputDebugStringA("#### StrAllocStringAnsi 0\r\n");
cch = MemSize(*ppwz); // get the count in bytes so we can check
if it failed (returns -1)
OutputDebugStringA("#### StrAllocStringAnsi 0-A\r\n");
if (-1 == cch)
{
ExitOnFailure(hr = E_INVALIDARG, "failed to get size of
destination string");
}
OutputDebugStringA("#### StrAllocStringAnsi 0-B\r\n");
cch /= sizeof(WCHAR); //convert the count in bytes to count in
characters
OutputDebugStringA("#### StrAllocStringAnsi 0-C\r\n");
}
OutputDebugStringA("#### StrAllocStringAnsi 1\r\n");
if (0 == cchSource)
{
cchDest = ::MultiByteToWideChar(uiCodepage, 0, szSource, -1,
NULL, 0);
if (0 == cchDest)
{
ExitWithLastError1(hr, "failed to get required size for
conversion to unicode: %s", szSource);
}
--cchDest; //subtract one because MultiByteToWideChar includes
space for the NULL terminator that we track below
}
else if (L'\0' == szSource[cchSource]) // if the source already had
a null terminator, don't count that in the character count because we
track it below
{
cchDest = cchSource - 1;
}
OutputDebugStringA("#### StrAllocStringAnsi 2\r\n");
if (cch < cchDest + 1)
{
OutputDebugStringA("#### StrAllocStringAnsi 3\r\n");
cch = cchDest + 1;
if (cch >= MAXDWORD / sizeof(WCHAR))
{
OutputDebugStringA("#### StrAllocStringAnsi 4\r\n");
ExitOnFailure1(hr = E_OUTOFMEMORY, "Not enough memory to
allocate string of size: %d", cch);
}
if (*ppwz)
{
OutputDebugStringA("#### StrAllocStringAnsi 5\r\n");
pwz = static_cast<LPWSTR>(MemReAlloc(*ppwz, sizeof(WCHAR) *
cch, TRUE));
}
else
{
OutputDebugStringA("#### StrAllocStringAnsi 6\r\n");
pwz = static_cast<LPWSTR>(MemAlloc(sizeof(WCHAR) * cch,
TRUE));
}
ExitOnNull1(pwz, hr, E_OUTOFMEMORY, "failed to allocate string,
len: %d", cch);
OutputDebugStringA("#### StrAllocStringAnsi 7\r\n");
*ppwz = pwz;
}
OutputDebugStringA("\r\nAbout to call!! 4809");
if (0 == ::MultiByteToWideChar(uiCodepage, 0, szSource, 0 ==
cchSource ? -1 : (int)cchSource, *ppwz, (int)cch))
{
ExitWithLastError1(hr, "failed to convert to unicode: %s",
szSource);
}
OutputDebugStringA("\r\nDone the call!!");
(*ppwz)[cchDest] = L'\0';
LExit:
return hr;
}
1204: ConfigureSql: #### Doing script: 'drop_TriggersConstraints'
1204: ConfigureSql: #### ScaSqlStr - Calling StrAllocStringAnsi
1204: #### Starting StrAllocStringAnsi !! 4809 x 2
1204: #### StrAllocStringAnsi 0
1204: ConfigureSql: Debug Assert Message: Assertion failed in
c:\baydev\install
\wix2.0.4809\src\ca\wcautil\wcautil.cpp, 64
CustomAction ConfigureSql called WcaInitialize() but not WcaTerminate()
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users