【问题标题】:Custom prerequsites to visual studio setup projectVisual Studio 设置项目的自定义先决条件
【发布时间】:2010-05-31 06:49:08
【问题描述】:
我有一个 Visual Studio 安装项目,并已按照 this link 中提到的步骤将 Microsoft .NET Framework 2.0 (KB908002) 的共享加载项支持更新加载到先决条件列表中。该条目出现,但显示以下警告
没有为“Microsoft .NET Framework 2.0 (KB908002) 的共享加载项支持更新”提供“HomeSite”属性,因此该程序包将发布到与引导程序相同的位置。
我使用组件供应商网站选项中的下载组件。如何为此更新设置主站点,以便直接下载和安装更新。我不想将更新与我的设置一起分发。
谢谢
【问题讨论】:
标签:
.net
deployment
bootstrapper
prerequisites
【解决方案1】:
为了让安装引导程序能够下载和安装包含在 KB908002 补丁程序中的文件,您必须为引导程序包描述中的每个文件指定 HomeSite 属性。此包描述包含在名为 package.xml 的 XML 文件中,位于以下位置(其中 v6.0A 是 SDK 的版本):
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper
\Packages\KB908002\package.xml
描述列出了补丁中包含在PackageFiles 元素中的文件。每个PackageFile 元素现在都可以有一个HomeSite 属性来指定下载URL。但是,据我所知,Microsoft 不提供这些文件作为单独下载,因此您必须自己托管它们。
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="lockbackRegKey.msi"
HomeSite="http://myserver.com/lockbackRegKey.msi" />
<PackageFile Name="extensibilityMSM.msi"
HomeSite="http://myserver.com/extensibilityMSM.msi" />
<PackageFile Name="office2003-kb907417sfxcab-ENU.exe"
HomeSite="http://myserver.com/office2003-kb907417sfxcab-ENU.exe" />
<PackageFile Name="VerifPrequisites.exe"
HomeSite="http://myserver.com/VerifPrequisites.exe" />
</PackageFiles>
另一种选择是将文件与您的设置一起分发 - 您仍然可以分发单个包。只需使用 IExpress(Windows 随附)之类的工具生成包含补丁、MSI 和 setup.exe 引导程序的自解压包(详情 here)。