我正在创建一个引导程序包,它应该支持所有平台 [x86,x64,ia64]。当我在 MSXML6.0 的 product.xml、SQL CLR 类型、本机客户端和 SQL 2008 R2 SMO product.xml 中包含所有不同的平台 MSI 时,当我执行设置时,它无法告诉 SMO 依赖产品 MSXML 安装状态未知,即使它是安装后,我在“添加/删除程序”中检查了它们,它显示 MSXML 已安装,但是当 SMO 尝试从引导程序安装时失败。
好吧,如果我在 MSXML 的 xml 中只包含任何平台的一个 MSI,那么 SMO 安装就成功了。
引导程序日志是
Running checks for command 'SMO\sharedmanagementobjects_X86.msi'
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'intel': false
Result of running operator 'ValueEqualTo' on property 'smox86' and value '0': false
Result of running operator 'ValueExists' on property 'smox86reg': false
Result of checks for command 'SMO\sharedmanagementobjects_X86.msi' is 'Install'
'SQL server 2008 R2 SMO' RunCheck result: Install Needed
Verifying file integrity of C:\DOCUME~1\xcxc\LOCALS~1\Temp\VSDDB.tmp\SMO\sharedmanagementobjects_X86.msi
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\WINNT\system32\msiexec.exe' and parameters ' -I "C:\DOCUME~1\dfsdf\LOCALS~1\Temp\VSDDB.tmp\SMO\sharedmanagementobjects_X86.msi" -q /qn'
Process exited with code 1603
Status of package 'SQL CLR Types' after install is 'InstallUnknown'
Status of package 'MSXML 6.0' after install is 'InstallUnknown'
Status of package 'SQL Native Client' after install is 'InstallUnknown'
Status of package 'SQL server 2008 R2 SMO' after install is 'InstallFailed'
我的 SMO-product.xml
<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="SQL SMO 2008" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="sharedmanagementobjects_X86.msi" HomeSite="http://go.microsoft.com/fwlink/?LinkID=188438&clcid=0x409" PublicKey="3082010A0282010100BD3089FB4572A8536B9E894F0023C0BED41D3DB1594038F373918226E696120053D91C820E3CCE1DBBBDF7428D97D4FC381AE4B9F9E3ECD36103BFA0D3D6754D5C46A9ED5EF0D2E2695B1A73EAB31C8D04CD2944A064592F1E985D6EC7AB18398265C4A7BCAB758819EA87971426B37F2676A4D4383984E3B326D518F92BE9D2C9165A5421F2978D878629FEF4492CE68BF8043F7DCDCD9692860D7103E2D0FE0C4235FFD7B83FDD8E450A7DF6D74BAD5BF076721D77237D8935C41C5DB250034B476D07A75588980680A681AD544ED881D6FABF42C031BE550D99D553491230EBE5A5887C5EC47A5A148708B43769A0EB32248C08EBF9D414BAE0FCCDEAA4150203010001" />
<PackageFile Name="sharedmanagementobjects_X64.msi" HomeSite="http://go.microsoft.com/fwlink/?LinkID=188439&clcid=0x409" PublicKey="3082010A0282010100BD3089FB4572A8536B9E894F0023C0BED41D3DB1594038F373918226E696120053D91C820E3CCE1DBBBDF7428D97D4FC381AE4B9F9E3ECD36103BFA0D3D6754D5C46A9ED5EF0D2E2695B1A73EAB31C8D04CD2944A064592F1E985D6EC7AB18398265C4A7BCAB758819EA87971426B37F2676A4D4383984E3B326D518F92BE9D2C9165A5421F2978D878629FEF4492CE68BF8043F7DCDCD9692860D7103E2D0FE0C4235FFD7B83FDD8E450A7DF6D74BAD5BF076721D77237D8935C41C5DB250034B476D07A75588980680A681AD544ED881D6FABF42C031BE550D99D553491230EBE5A5887C5EC47A5A148708B43769A0EB32248C08EBF9D414BAE0FCCDEAA4150203010001" />
<PackageFile Name="sharedmanagementobjects_ia64.msi" HomeSite="http://go.microsoft.com/fwlink/?LinkID=188440&clcid=0x409" PublicKey="3082010A0282010100BD3089FB4572A8536B9E894F0023C0BED41D3DB1594038F373918226E696120053D91C820E3CCE1DBBBDF7428D97D4FC381AE4B9F9E3ECD36103BFA0D3D6754D5C46A9ED5EF0D2E2695B1A73EAB31C8D04CD2944A064592F1E985D6EC7AB18398265C4A7BCAB758819EA87971426B37F2676A4D4383984E3B326D518F92BE9D2C9165A5421F2978D878629FEF4492CE68BF8043F7DCDCD9692860D7103E2D0FE0C4235FFD7B83FDD8E450A7DF6D74BAD5BF076721D77237D8935C41C5DB250034B476D07A75588980680A681AD544ED881D6FABF42C031BE550D99D553491230EBE5A5887C5EC47A5A148708B43769A0EB32248C08EBF9D414BAE0FCCDEAA4150203010001" />
</PackageFiles>
<InstallChecks>
<MsiProductCheck Property="smox86" Product="{B692E59A-055C-43B7-BE0A-9C2FE0AB88B6}" />
<RegistryCheck Property="smox86reg" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B692E59A-055C-43B7-BE0A-9C2FE0AB88B6}" />
<MsiProductCheck Property="smox64" Product="{F10ADDB9-839B-448B-BD2E-3BCB5C1E4B55}" />
<RegistryCheck Property="smox64reg" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F10ADDB9-839B-448B-BD2E-3BCB5C1E4B55}" />
<MsiProductCheck Property="smoia64" Product="{DD33796B-D54B-42CE-BEA8-E4B150FB2EF3}" />
<RegistryCheck Property="smoia64reg" Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DD33796B-D54B-42CE-BEA8-E4B150FB2EF3}" />
</InstallChecks>
<Commands Reboot="Defer">
<Command PackageFile="sharedmanagementobjects_X86.msi" Arguments="/qn">
<InstallConditions>
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" />
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="intel" />
<BypassIf Property="smox86" Compare="ValueEqualTo" Value="0" />
<BypassIf Property="smox86reg" Compare="ValueExists" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
</ExitCodes>
</Command>
<Command PackageFile="sharedmanagementobjects_X64.msi" Arguments="/qn">
<InstallConditions>
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="Anunexpectederroroccurre" />
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64" />
<BypassIf Property="smox64" Compare="ValueEqualTo" Value="0" />
<BypassIf Property="smox64reg" Compare="ValueExists" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
</ExitCodes>
</Command>
<Command PackageFile="sharedmanagementobjects_ia64.msi" Arguments="/qn">
<InstallConditions>
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="Anunexpectederroroccurre" />
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="ia64" />
<BypassIf Property="smoia64" Compare="ValueEqualTo" Value="0" />
<BypassIf Property="smoia64reg" Compare="ValueExists" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
</ExitCodes>
</Command>
</Commands>
<RelatedProducts>
<DependsOnProduct Code="MSXML6.0" />
<DependsOnProduct Code="SQL CLR TYPES" />
<DependsOnProduct Code="SQL Native Client" />
</RelatedProducts>
</Product>
MSXML-product.xml
<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="MSXML6.0" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="msxml6_x86.msi" HomeSite="http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=d21c292c-368b-4ce1-9dab-3e9827b70604&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fe%2fa%2ff%2feafb8ee7-667d-4e30-bb39-4694b5b3006f%2fmsxml6_x86.msi" PublicKey="3082010A0282010100CD819638AE5CA2F2C1DFDED0AB958DD63C9D1F8BC35D862E5DF0B172F5ABAC886AB5DAB1227B0BC8C8A54B915E2213E9F9F5239DB5F46E76AEEFEEA43CC7C4C0595C3FABB3733326A662816179A162F46E8895D06EDDC79FD2A451117661BA708A65A1961689A75D81D04466E5DB569E40CAFCDC76242E443000E5D67D7B9511D5581DA3E84F0BC988DCA2D653996CCA63CA996A9A925E4C4D11E82FD35B5B5E5F52A3732DA5BB84450D8C191576CB08DA9AA67015E84DEC69FD5DB26B8FED295137388BC6464915945098B0F468A4D7DE097167749E778C1D856B97EAE75F45CCE0E6710DD16300937B31988E0BB413BDB3D0EEF1DF21EEA96061EE37433DC30203010001" />
<PackageFile Name="msxml6_x64.msi" HomeSite="http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=d21c292c-368b-4ce1-9dab-3e9827b70604&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fe%2fa%2ff%2feafb8ee7-667d-4e30-bb39-4694b5b3006f%2fmsxml6_x64.msi" PublicKey="3082010A0282010100CD819638AE5CA2F2C1DFDED0AB958DD63C9D1F8BC35D862E5DF0B172F5ABAC886AB5DAB1227B0BC8C8A54B915E2213E9F9F5239DB5F46E76AEEFEEA43CC7C4C0595C3FABB3733326A662816179A162F46E8895D06EDDC79FD2A451117661BA708A65A1961689A75D81D04466E5DB569E40CAFCDC76242E443000E5D67D7B9511D5581DA3E84F0BC988DCA2D653996CCA63CA996A9A925E4C4D11E82FD35B5B5E5F52A3732DA5BB84450D8C191576CB08DA9AA67015E84DEC69FD5DB26B8FED295137388BC6464915945098B0F468A4D7DE097167749E778C1D856B97EAE75F45CCE0E6710DD16300937B31988E0BB413BDB3D0EEF1DF21EEA96061EE37433DC30203010001" />
<PackageFile Name="msxml6_ia64.msi" HomeSite="http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=d21c292c-368b-4ce1-9dab-3e9827b70604&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fe%2fa%2ff%2feafb8ee7-667d-4e30-bb39-4694b5b3006f%2fmsxml6_ia64.msi" PublicKey="3082010A0282010100CD819638AE5CA2F2C1DFDED0AB958DD63C9D1F8BC35D862E5DF0B172F5ABAC886AB5DAB1227B0BC8C8A54B915E2213E9F9F5239DB5F46E76AEEFEEA43CC7C4C0595C3FABB3733326A662816179A162F46E8895D06EDDC79FD2A451117661BA708A65A1961689A75D81D04466E5DB569E40CAFCDC76242E443000E5D67D7B9511D5581DA3E84F0BC988DCA2D653996CCA63CA996A9A925E4C4D11E82FD35B5B5E5F52A3732DA5BB84450D8C191576CB08DA9AA67015E84DEC69FD5DB26B8FED295137388BC6464915945098B0F468A4D7DE097167749E778C1D856B97EAE75F45CCE0E6710DD16300937B31988E0BB413BDB3D0EEF1DF21EEA96061EE37433DC30203010001" />
</PackageFiles>
<InstallChecks>
<MsiProductCheck Property="msxmlx86" Product="{A43BF6A5-D5F0-4AAA-BF41-65995063EC44}" />
<MsiProductCheck Property="msxmlx64" Product="{633F3A7E-471D-4C08-A643-C184A2EE19AB}" />
<MsiProductCheck Property="msxmlia64" Product="{03FCC50D-87AD-44A4-955F-E5D57D089530}" />
</InstallChecks>
<Commands Reboot="Defer">
<Command PackageFile="msxml6_x86.msi" Arguments="/qn">
<InstallConditions>
<BypassIf Property="msxmlx86" Compare="ValueEqualTo" Value="0" />
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="intel" />
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Success" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
</ExitCodes>
</Command>
<Command PackageFile="msxml6_x64.msi" Arguments="/qn">
<InstallConditions>
<BypassIf Property="msxmlx64" Compare="ValueEqualTo" Value="0" />
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" />
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="amd64" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
</ExitCodes>
</Command>
<Command PackageFile="msxml6_ia64.msi" Arguments="/qn">
<InstallConditions>
<BypassIf Property="msxmlia64" Compare="ValueEqualTo" Value="0" />
<FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired" />
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="ia64" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success"/>
<ExitCode Value="1641" Result="SuccessReboot"/>
<ExitCode Value="3010" Result="SuccessReboot"/>
<DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
</ExitCodes>
</Command>
</Commands>
</Product>
指导我,我不知道我做错了什么。这对我的项目非常重要。提前致谢。