你在哪里找到完整的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 < 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>
我搜索过并搜索过,无法找到此信息的可用位置。有人可以帮忙吗?
答案 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