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

SUPPORTDIR


1 reply to this topic

wilsonbradleyc

wilsonbradleyc
  • Full Members
  • 3 posts

Posted 08 October 2003 - 14:59

I've created a merge module where in i've got a CA that is used to stream out support files that are included in that merge module's binary table (that will be needed by an additional CA in that merge module at deferred execution time).

My CA works that extracts the files from the binary table, but the problem is they are extracted to the 'c:\' drive because SUPPORTDIR returns a NULL value. Here is the portion of my WI function in my dll where i'm trying to grab the SUPPORTDIR value:

UINT __stdcall StreamFiles(MSIHANDLE hMSI)
{
int nResult=0;
DWORD nBufSize;
char szFiles[1024];
char szKeys[1024];
TCHAR szSupportDir[1024];
.
.
.

nBufSize = sizeof(szSupportDir);
MsiGetProperty(hMSI,"SUPPORTDIR",szSupportDir,&nBufSize);
nBufSize = sizeof(szFiles);
MsiGetProperty(hMSI,"FILESTOSTREAM",szFiles,&nBufSize);
nBufSize = sizeof(szKeys);
MsiGetProperty(hMSI,"BINARYTABLEKEY",szKeys,&nBufSize);
.
.
.

The other two properties are returned properly but never SUPPORTDIR. The only difference between SUPPORTDIR and the two other properties is that the two other poperties are stored in the merge module itself but SUPPORTDIR is created in the WI project that contains that merge module. Didn't know if that would be a factor or not.

Any ideas?

luke_s

luke_s
  • Full Members
  • 532 posts

Posted 16 October 2003 - 05:59

Since you are using a custom action, i assume that you are running the action during the install?

Supportdir is probably not set during the install so this is why it is returning null.

Try running with log mode to see if SupportDir is actually being set.