Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7983861
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T11:05:25+00:00 2026-06-04T11:05:25+00:00

In my custom Burn managed bootstrapper application, I want a way to set the

  • 0

In my custom Burn managed bootstrapper application, I want a way to set the default log directory of the installer so that customers can easily find the installation logs. If this can’t be done, I would like a suitable way to copy the log files after installation.

I tried unsuccessfully at setting the WixBundleLog variable in my setup project (i.e. Bundle.wxs) and in my managed bootstrapper application. Also, my bootstrapper applicaton is generic enough so that it my be used with a variety of products / install packages, so I need a solution that is flexible enough to set / get the installation logs for each package, without hard-coding the package name in my bootstrapper application.

It seems there should be a way to do this without forcing the user to use “-l” or “-log” on the command line.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T11:05:26+00:00Added an answer on June 4, 2026 at 11:05 am

    WixBundleLog is the burn variable that specifies the log file. It is not possible to override it in the bundle because you cannot set a variable in a bundle that contains the “Wix” prefix. Overriding it in the bootstrapper application doesn’t work either because the bootstrapper continues to log to its default.

    The burn bootstrapper sets string variables for the bootstrapper log and the installation package logs. I keep track of these variables in a list. So in my constructor I have something like:

    this.LogsDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments), @"Company_Name\Logs\Installer\", DateTime.Now.ToString("yyyyMMdd_hhmmss"));
    _logVariables = new List<string>();
    _logVariables.Add("WixBundleLog");
    

    Burn sets string variables for the log files in the format [WixBundleLog]_PackageId.
    In my bootstrapper application when the PlanPackageComplete event is fired, I have an event handler that includes the following code to add the variables to my list.

    //set *possible* log variables for a given package
    _logVariables.Add("WixBundleLog_" + e.PackageId);
    _logVariables.Add("WixBundleRollbackLog_" + e.PackageId);
    

    At the end of installation or if my bootstrapper encounters an error, I call the following method:

    private void CopyLogs()
    {
         if (!Directory.Exists(this.LogsDirectory))
             Directory.CreateDirectory(this.LogsDirectory);
    
         foreach (string logVariable in _logVariables)
         {
             if (this.Bootstrapper.Engine.StringVariables.Contains(logVariable))
             {
                 string file = this.Bootstrapper.Engine.StringVariables[logVariable];
                 if (File.Exists(file))
                 {
                     FileInfo fileInfo = new FileInfo(file);
                     fileInfo.CopyTo(Path.Combine(this.LogsDirectory, fileInfo.Name), false);
                 }
             }
         }
     }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Are custom functions that are defined at the default package level (aka Top Level)
My custom error messages quit working somewhere along the way and I'm getting this
1) Custom exceptions can help make your intentions clear. How can this be? The
My Custom Adapter that extends SimpleCursorAdapter for my ListFragment does not display the items
My custom module is generating this error on the system log everytime I try
All custom legacy software needs changing, or so say our users. Sometimes they want
For custom animations in my app, I can use the setAnimationDidStopSelector: method to respond
My custom type is (no default constructor!): package com.XXX.common; public class Email implements Serializable
If I have a custom shell script or program that I created myself or
I have written an installer using WIX for a product, which uses: custom extensions

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.