cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DLee65
Level 13

Need support files during maintenance mode

During maintenance mode it appears that support files are not extracted from the cached MSI, at lease my custom actions cannot find the files in the support directory.

Is there a way to specify that these support files should be extracted during maintenance mode to SUPPORTDIR?

Thanks.

Dan
Labels (1)
0 Kudos
(4) Replies
Happy_Days
Level 7

What type of installation this is, and what type of Custom Actions you have used? Also print the input and arguments to the custom actions.
0 Kudos
DLee65
Level 13

Thanks for the reply.
This is a basic MSI. I am using an InstallScript custom action.

The line I am using to search for the the support files is:
MsiGetProperty(hMSI, "SUPPORTDIR", strSupportDir, nBuffSize);


When I examine the %temp% directory during maintenance the files are not there.
0 Kudos
Happy_Days
Level 7

As per InstallScript Language documentation:

Note that the value of the InstallScript system variable SUPPORTDIR is not the same as the value of the Windows Installer property SUPPORTDIR.

In Basic MSI or InstallScript MSI projects, each InstallScript custom action initializes its own engine. Each engine does not know where the primary SUPPORTDIR is, and each engine does not extract its own private copy of the support files. For instructions on locating the extracted support files from a custom action, see Placing Files in the .msi Database and Extracting Them During Run Time.


I am not sure if this gives the answer, but can you use a MessageBox function to see what your code is returning?
0 Kudos
DLee65
Level 13

Again, thanks for the reply. You are exactly right, which is why I do not use the Installscript version of SUPPORTDIR and call MSIGetProperty to obtain the Windows Installer version of SUPPORTDIR.

The files are extracted to the expected location during a first install scenario. It is only during repair mode that the files are not extracted.

Looking at the MSI Log file the SUPPORTDIR is created I just got to figure out how to get the binaries to extract during repair mode 😉
0 Kudos