Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wix Bootstrapper MSI-Package logging, how?

I have a bootstrapper that installs a MSI-package.

How can i achieve that at least the msi-package-installation gets logged(verbose logging)? And where can i set the log-file-path? Because I won't be able to log everything i guess?

And no, i don't want a cmd-solution, i need to implement this into my setup

Found LogPathVariable, but don't really know how it works?

<MsiPackage SourceFile="$(var.Setup.TargetPath)" LogPathVariable="" />

Googled arround many times and havn't found a solution for this problem, any help?

like image 262
Postback Avatar asked May 02 '14 08:05

Postback


People also ask

How do I create an MSI file with WiX?

Adding a WiX setup project In Visual Studio, open your solution, and add a WiX project to it: go to the Visual Studio main menu and click File -> Add -> New Project to open the Add New Project dialog. Choose the Setup Project item in the Windows Installer XML node, specify the project name and click OK.

What is WiX Bootstrapper?

A WiX bootstrapper is a chainer, or an installer that installs multiple MSI files in sequence. It is typically used when an application has multiple dependencies, or when an MSI file needs to be installed before another MSI file can be installed. WiX bootstrappers can be created using the WiX toolset.

How does WiX Installer work?

The WiX tools follow the traditional compile and link model used to create executables from source code. At build time, the WiX source files are validated against the core WiX schema, then processed by a preprocessor, compiler, and linker to create the final result.


1 Answers

The default case (no LogPathVariable set) will create logs in C:\Users\username\AppData\Local\Temp the MSI logs will be verbose, there will also be a log for the bootstrapper.

For a custom destination you can create a Variable and set it

<Variable Name="MyLogDestination" Type="string" Value=path to where you want log created />

You could use one of the burn variables in conjunction with a partial path. I think

<Variable Name="MyLogDestination" Type="string" Value="[ProgramFiles6432Folder]\YourProduct\" /> 

might work though I've not tried it.

You would then put your variable name in the LogPathVariable

<MsiPackage SourceFile="$(var.Setup.TargetPath)" LogPathVariable="MyLogDestination" />
like image 171
Rick Bowerman Avatar answered Sep 28 '22 00:09

Rick Bowerman