使用 burn 链接依赖的 msi 包
Chain dependant msi packages with burn
我现在已经努力了几个小时,但没有取得任何真正的成功。我正在尝试使用我的安装程序安装 ReportViewer 2012 (v11),包括 SQLSysClrTypes.msi。
我的注册表检查如下,似乎有效:
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\Microsoft SQL Server 2012 Redist\SQL Server System CLR Types\CurrentVersion"
Value="Version"
Variable="SQLSysClrTypesVerion" />
<util:RegistrySearch Root="HKLM"
Key="Software\Microsoft\Microsoft SQL Server 2012 Redist\Microsoft Report Viewer 2012 Runtime"
Value="Version"
Variable="ReportViewer11Verion" />
包参考如下:
<PackageGroup Id="ReportViewer11">
<ExePackage Id="SQLSysClrTypes" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
SourceFile="reportviewer/SQLSysClrTypes.msi"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=239643"e;clcid=0x409"
DetectCondition="SQLSysClrTypesVerion" />
<ExePackage Id="ReportViewer11" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
InstallCommand="/q"
SourceFile="reportviewer/ReportViewer.msi"
DownloadUrl="http://www.microsoft.com/en-us/download/details.aspx?id=35747"
DetectCondition="ReportViewer11Verion" />
</PackageGroup>
安装程序的日志文件说明如下(不是很有帮助):
[0F08:10E0][2015-04-20T16:47:00]i304:已验证现有负载:ReportViewer11 位于路径:C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi.
[0F08:10E0][2015-04-20T16:47:00]i304:已验证现有负载:路径中的 InstallationPackageId:C:\ProgramData\Package 缓存 {A327D350-C9A6-4AA5-AA86-92E3B6653E77} v1.0.0.0\Avis.RAC.DARA.msi.
[0F08:04A4][2015-04-20T16:47:00]i301:应用执行包:ReportViewer11,操作:安装,路径:C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi,参数:'"C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi"/q'
[0F08:04A4][2015-04-20T16:47:00]e000:错误 0x800700c1:无法在路径上创建进程:C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi
[0F08:04A4][2015-04-20T16:47:00]e000:错误 0x800700c1:执行 EXE 包失败。
[0E24:1164][2015-04-20T16:47:00]e000:错误 0x800700c1:无法配置每台机器的 EXE 程序包。
[0E24:1164][2015-04-20T16:47:00]i319:应用执行包:ReportViewer11,结果:0x800700c1,重启:None
[0E24:1164][2015-04-20T16:47:00]e000:错误 0x800700c1:执行 EXE 包失败。
您正在为您的 msi 文件使用 ExePackage,请改用 MsiPackage。
我现在已经努力了几个小时,但没有取得任何真正的成功。我正在尝试使用我的安装程序安装 ReportViewer 2012 (v11),包括 SQLSysClrTypes.msi。
我的注册表检查如下,似乎有效:
<util:RegistrySearch Root="HKLM"
Key="SOFTWARE\Microsoft\Microsoft SQL Server 2012 Redist\SQL Server System CLR Types\CurrentVersion"
Value="Version"
Variable="SQLSysClrTypesVerion" />
<util:RegistrySearch Root="HKLM"
Key="Software\Microsoft\Microsoft SQL Server 2012 Redist\Microsoft Report Viewer 2012 Runtime"
Value="Version"
Variable="ReportViewer11Verion" />
包参考如下:
<PackageGroup Id="ReportViewer11">
<ExePackage Id="SQLSysClrTypes" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
SourceFile="reportviewer/SQLSysClrTypes.msi"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=239643"e;clcid=0x409"
DetectCondition="SQLSysClrTypesVerion" />
<ExePackage Id="ReportViewer11" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
InstallCommand="/q"
SourceFile="reportviewer/ReportViewer.msi"
DownloadUrl="http://www.microsoft.com/en-us/download/details.aspx?id=35747"
DetectCondition="ReportViewer11Verion" />
</PackageGroup>
安装程序的日志文件说明如下(不是很有帮助):
[0F08:10E0][2015-04-20T16:47:00]i304:已验证现有负载:ReportViewer11 位于路径:C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi.
[0F08:10E0][2015-04-20T16:47:00]i304:已验证现有负载:路径中的 InstallationPackageId:C:\ProgramData\Package 缓存 {A327D350-C9A6-4AA5-AA86-92E3B6653E77} v1.0.0.0\Avis.RAC.DARA.msi.
[0F08:04A4][2015-04-20T16:47:00]i301:应用执行包:ReportViewer11,操作:安装,路径:C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi,参数:'"C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi"/q'
[0F08:04A4][2015-04-20T16:47:00]e000:错误 0x800700c1:无法在路径上创建进程:C:\ProgramData\Package Cache004C9B82D761A9AEB4EB73B85F5475D3771BAE\ReportViewer.msi
[0F08:04A4][2015-04-20T16:47:00]e000:错误 0x800700c1:执行 EXE 包失败。
[0E24:1164][2015-04-20T16:47:00]e000:错误 0x800700c1:无法配置每台机器的 EXE 程序包。
[0E24:1164][2015-04-20T16:47:00]i319:应用执行包:ReportViewer11,结果:0x800700c1,重启:None
[0E24:1164][2015-04-20T16:47:00]e000:错误 0x800700c1:执行 EXE 包失败。
您正在为您的 msi 文件使用 ExePackage,请改用 MsiPackage。