3

您在哪里找到各种 Windows Installer 4.5 可再发行组件(即 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>

我已经搜索和搜索,无法找到提供此信息的位置。任何人都可以帮忙吗?

4

3 回答 3

4

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

heat.exe payload PATH_TO_FILE -o Output.wxs

这实际上目前在上面链接的页面上没有记录,但检查 exe 它在 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/
于 2013-12-18T17:20:07.433 回答
0

我不确定您是否需要密钥/指纹/哈希等,但如果您需要:

右键单击文件,选择Properties

单击Digital Signatures选项卡

选择签名并单击Details

点击View Certificate

单击Details选项卡

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

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

于 2013-09-23T18:49:28.023 回答
0

我为此找到的最佳实践是从 Windows SDK 中获取引导程序包,该程序包已经包含添加 MSI prereq 所需的所有链接、哈希、文件名、命令和条件,您需要做的就是简单地翻译将包的package.xml 烧成一个ExePackage。

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

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\WindowsInstaller4_5
于 2015-09-07T11:43:42.847 回答