Вопрос

I am running Visual Studio 2010 and WiX 3.7.

I have successfully created a WiX project that distributes my XLL and has custom actions to register the XLL with Excel. We plan to distribute the XLL for our users via a .NET web page with a button link that the user would click.

I have been looking for an example of how to take my WiX project and save a installation log file (using the MSIEXEC parameters) to the company directory under program files. Is it correct that I need to create a bootstrapper project to do this so that the file can be distributed as part of the install?

If so, I have the following questions:

  1. How would I specify the output directory in the bootstrapper project?
  2. Since my WiX project produces an MSI output, is it possible to have a Chain in the bootstrapper project with an ExePackage (instead of an MsiPackage)? I ask this because that seems to be the only way to have an IntallCommand (otherwise I would use the MsiPackage).
  3. Are the parameters for the InstallCommand the same as they would be for running msiexec from the command line?
  4. If the software is uninstalled, would it remove the log file?
  5. Would I reference the MSI WiX Project within the bootstrapper project? If so, would I be able to use variables for the MSI project (i.e. if the MSI project name is MSIPROJ, then the reference variable would be ($var.MSIPROJ)?
  6. Am I able to specify the directory for output the same way that I would in a regular WiX Setup Project?

If the bootstrapper project is not the solution, how would I achieve the goal?

EDIT 1:

I was able to create a bootstrapper project that creates an Install Log (in the temp directory by default). This comes up with a brand new dialog.

My questions on this are as follows:

  1. Can the dialogs produced by the bootstrapper project mirror the dialogs setup in the MSI project (i.e. )?
  2. Can the resources (i.e. the EULA.rtf, Icon.ico, Dialog.jpg, and Banner.jpg) be specified as they were in the WiX setup project?

    <?xml version="1.0" encoding="UTF-8"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Bundle Name="Name" 
          Version="1.0.0.0" 
          Manufacturer="Company" 
          DisableModify="yes"
          UpgradeCode="71515514-5c35-4a2f-a782-fe91bf2a5943"
          Compressed="yes">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    
        <Chain>
      <PackageGroupRef Id="InstallerPackage"/>
        </Chain>
    </Bundle>
    <Fragment>
      <PackageGroup Id="InstallerPackage">
        <MsiPackage SourceFile="$(var.ExcelAddInDeploy.TargetPath)" Compressed="yes" EnableFeatureSelection="no" Vital="yes" DisplayInternalUI="yes">
          <MsiProperty Name="MSC" Value="[MSC]" />
        </MsiPackage>
      </PackageGroup>
    </Fragment>
    </Wix>
    

Thanks,

Lee

Это было полезно?

Решение

To answer my question, the way to suppress the EULA and show the correct images is given below.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Name" 
      Version="1.0.0.0" 
      Manufacturer="Company" 
      DisableModify="yes"
      UpgradeCode="insert GUID here"
      Compressed="yes">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" >
  <bal:WixStandardBootstrapperApplication
    SuppressOptionsUI="yes"
    LogoFile="C:\Path\Logo.jpg"
    LicenseUrl=""
    xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>

    <Chain>
      <PackageGroupRef Id="InstallerPackage"/>
    </Chain>
</Bundle>
  <Fragment>
    <PackageGroup Id="InstallerPackage">
      <MsiPackage SourceFile="$(var.ExcelAddInDeploy.TargetPath)" Compressed="yes" EnableFeatureSelection="no" Vital="yes" DisplayInternalUI="yes">
        <MsiProperty Name="MSC" Value="[MSC]" />
      </MsiPackage>
    </PackageGroup>
  </Fragment>
</Wix>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top