PDA

View Full Version : Logging an InstallScript project



AlexBr
11-30-2004, 11:37 AM
How can I log the InstallScript project?
I mean the readable log, not uninstall log.

Is there any standard way?

Thanks.

The V Man
12-02-2004, 01:54 AM
Hi,
Support gave me this a while ago..... it may help.

The logging parameters for setup.exe depend on the project type.

A) Basic MSI Project
You can create a log for a Basic MSI project using the following command line.

setup.exe /v"/l*v c:\setup.log"

Q104807 - HOWTO: Logging an MSI Installation
http://support.installshield.com/kb/view.asp?articleid=Q104807

B) InstallScript MSI Project
You can create a log for an InstallScript MSI project using the following command line.

setup.exe /verbose"c:\ismsi.log"

Q105237 - HOWTO: Logging an InstallScript MSI Project
http://support.installshield.com/kb/view.asp?articleid=Q105237

Regards
Vince

Perucho
12-15-2004, 10:07 AM
For an InstallScript Project

Read this post:
http://community.installshield.com/showthread.php?t=141784

McLaneKen
12-29-2004, 11:08 AM
This is what we have done in the past. Creates a custom log file. We call the function and pass the string to be written, and a pair of NULLS (I guess In need to revist that, I forget why...) Like this:
WriteToSetupLog("} OnFirstUIBefore() Exit Point", NULL, NULL);
This probably isn't as clean as it could be, but I know it works and I don't feel like breaking it just to make it work again! :rolleyes:

prototype WriteToSetupLog(STRING, NUMBER, NUMBER);

//////////////////////////////////////////////////////////////////////////////
// //
// Function: WriteToSetupLog //
// //
// Purpose: This function will write a line of text to the Setup Log file. //
// //
///////////////////////////////////////////////////////////////////////////////
function WriteToSetupLog(svText, nvInputResult, nvInputType)
NUMBER nvResult;
STRING svCurrentDate, svCurrentTime, svFinalText, svInputResult, szPath,
szFileName;
begin

GetSystemInfo(DATE, nvResult, svCurrentDate);
GetSystemInfo(TIME, nvResult, svCurrentTime);

if (nvLogFileHandle = 0) then
szFileName = "SETUP.LOG";
OpenFileMode (FILE_MODE_APPEND);
// Initialize Setup Log File (runs on first call to function)
if ( Is(FILE_EXISTS, TARGETDIR ^ "LOG" ^ "SETUP.LOG") = FALSE) then
// Initial creation of log file in SUPPORTDIR
bNeedToCopySetupLog = TRUE;
szPath = SUPPORTDIR;
CreateFile(nvLogFileHandle, szPath, szFileName);
WriteLine(nvLogFileHandle, SRCDIR ^ "SETUP.EXE " + CMDLINE + "\r\n");
else
// Second time thru -- file has been copied to LOG subdir
bNeedToCopySetupLog = FALSE;
szPath = TARGETDIR ^ "LOG";
OpenFile(nvLogFileHandle, szPath, szFileName);
endif;
endif;

if (nvInputResult != NULL || nvInputType != NULL) then
svInputResult = " UNKNOWN : ";

svFinalText = "SETUP " + "v" + @PRODUCT_VERSION + " " + svCurrentDate +
" " + svCurrentTime + " " + svSetupPoint + " " + svInputResult +
svText;
else
svFinalText = "SETUP " + "v" + @PRODUCT_VERSION + " " + svCurrentDate +
" " + svCurrentTime + " " + svSetupPoint + " " + svText;
endif;

WriteLine(nvLogFileHandle, svFinalText);

return 0;
end;