Wix Burn先决条件步骤 - Windows Installer 4.5下载详细信息(RemotePayload元素)

时间:2013-08-07 09:37:15

标签: download windows-installer

你在哪里找到完整的URL,CertificatePublicKey&各种Windows Installer 4.5可再发行组件的CertificateThumbprint和SHA-1哈希值(即WindowsXP-KB942288-v3-x86.exe,WindowsServer2003-KB942288-v4-x86.exe,WindowsServer2003-KB942288-v4-x64.exe,Windows6.0- KB942288-v2-x86.msu等)?

我需要Wix Burn“RemotePayload”元素的这些详细信息,以便在目标系统中缺少Windows Installer 4.5时执行静默先决条件 - 步骤下载和安装。这个https://stackoverflow.com/a/11308837/2430722给出了一个很好的例子,它回答了另一个问题:

<ExePackage Id="WinXP_x86"
          Cache="no"
          Compressed="no"
          PerMachine="yes"
          Permanent="yes"
          Vital="yes"
          Name="redist\WindowsXP-KB942288-v3-x86.exe"
          DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe"
          InstallCondition="VersionNT=v5.1 AND NOT VersionNT64 AND VersionMsi &lt; v4.5"
          InstallCommand="/quiet /norestart">

    <RemotePayload ProductName="Windows Installer 4.5"
               Description="Windows Installer 4.5 Setup"
               CertificatePublicKey="F321408E7C51F8544B98E517D76A8334052E26E8"
               CertificateThumbprint="D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1"
               Hash="86E1CC622DBF4979717B8F76AD73220CDB70400B"
               Size="3327000"
               Version="4.5.0.0" />

    <ExitCode Behavior="forceReboot"/>

</ExePackage>

我搜索过并搜索过,无法找到此信息的可用位置。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:4)

您可以使用heat为您生成RemotePayload:

heat.exe payload PATH_TO_FILE -o Output.wxs

这实际上目前在上面链接的页面上没有记录,但检查它仍然存在于v3.8:

Windows Installer XML Toolset Toolset Harvester version 3.8.1128.0
Copyright (c) Outercurve Foundation. All rights reserved.

 usage:  heat.exe harvestType harvestSource <harvester arguments> -o[ut] sourceFile.wxs

Supported harvesting types:

   dir      harvest a directory
   file     harvest a file
   payload  harvest a bundle payload as RemotePayload
   perf     harvest performance counters
   project  harvest outputs of a VS project
   reg      harvest a .reg file
   website  harvest an IIS web site

Options:
   -ag      autogenerate component guids at compile time
   -cg <ComponentGroupName>  component group name (cannot contain spaces e.g -cg MyComponentGroup)
   -configuration  configuration to set when harvesting the project
   -directoryid  overridden directory id for generated directory elements
   -dr <DirectoryName>  directory reference to root directories (cannot contain spaces e.g. -dr MyAppDirRef)
   -ext     <extension>  extension assembly or "class, assembly"
   -g1      generated guids are not in brackets
   -generate
            specify what elements to generate, one of:
                components, container, payloadgroup, layout, packagegroup
                (default is components)
   -gg      generate guids now
   -indent <N>  indentation multiple (overrides default of 4)
   -ke      keep empty directories
   -nologo  skip printing heat logo information
   -out     specify output file (default: write to current directory)
   -platform  platform to set when harvesting the project
   -pog
            specify output group of VS project, one of:
                Binaries,Symbols,Documents,Satellites,Sources,Content
              This option may be repeated for multiple output groups.
   -projectname  overridden project name to use in variables
   -scom    suppress COM elements
   -sfrag   suppress fragments
   -srd     suppress harvesting the root directory as an element
   -sreg    suppress registry harvesting
   -suid    suppress unique identifiers for files, components, & directories
   -svb6    suppress VB6 COM elements
   -sw<N>   suppress all warnings or a specific message ID
            (example: -sw1011 -sw1012)
   -swall   suppress all warnings (deprecated)
   -t       transform harvested output with XSL file
   -template  use template, one of: fragment,module,product
   -v       verbose output
   -var <VariableName>  substitute File/@Source="SourceDir" with a preprocessor or a wix variable
(e.g. -var var.MySource will become File/@Source="$(var.MySource)\myfile.txt" and
-var wix.MySource will become File/@Source="!(wix.MySource)\myfile.txt"
   -wixvar  generate binder variables instead of preprocessor variables
   -wx[N]   treat all warnings or a specific message ID as an error
            (example: -wx1011 -wx1012)
   -wxall   treat all warnings as errors (deprecated)
   -? | -help  this help information

For more information see: http://wixtoolset.org/

答案 1 :(得分:0)

我不确定你需要键/指纹/哈希等,但如果你想要它:

右键单击该文件,选择Properties

点击Digital Signatures标签

选择签名,然后点击Details

点击View Certificate

点击Details标签

点击Public key字段,然后您可以复制下面的整个数据字段。

粘贴时,删除所有空格和换行符。

答案 2 :(得分:0)

我发现的最佳实践是从windows SDK获取bootstraper包,它已包含添加MSI先决条件所需的所有链接,哈希,文件名,命令和条件,所有你需要做的将软件包的package.xml简单地转换为刻录ExePackage。

在装有Windows SDK 8.1的PC上,请查看:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\WindowsInstaller4_5