Visual Studio 2017先决条件无法加载MADE2010安装包问题
VS2017 先决条件列表无法加载Access Database Engine 2010 排查方案
按以下顺序修正配置错误即可解决:
- 首先修正目录结构错误:你当前直接把组件文件放在
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages根目录是不符合规则的,必须在Packages路径下新建一个独立的专属子文件夹(比如命名为AccessDatabaseEngine2010_x86),所有组件相关文件都要放在这个子文件夹内,VS不会识别Packages根目录下散落的产品配置文件。 - 修正文件名错误:你
en子文件夹内的配置文件名为package .xml,文件名中多了一个多余空格,必须重命名为无空格的package.xml,否则VS无法识别该语言配置文件。 - 修正XML文件内容与放置位置错误:你当前根目录的
product.xml和en文件夹内的配置文件内容完全一致,且都使用了<Product>根节点,不符合Bootstrapper的配置规范:- 组件专属子文件夹的根目录下存放
product.xml,该文件用<Product>作为根节点,负责定义安装逻辑、依赖项、安装状态检测、安装命令、退出码规则,你当前写的配置内容可以直接作为该文件的基础内容保留。 en(以及其他语言目录如zh-Hans)文件夹下存放的package.xml必须以<Package>作为根节点,负责定义组件在先决条件列表中的显示名称、许可协议关联、各错误场景的本地化提示文本,不能使用<Product>根节点。可参考以下可用的en/package.xml内容:
- 组件专属子文件夹的根目录下存放
<?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" Culture="en" LicenseAgreement="license.txt"> <PackageFiles> <PackageFile Name="license.txt" /> </PackageFiles> <Strings> <String Name="DisplayName">Microsoft Access Database Engine 2010 (x86)</String> <String Name="Culture">en</String> <String Name="AdminRequired">安装Microsoft Access Database Engine 2010需要管理员权限</String> <String Name="InvalidPlatformWin9x">该组件不支持Windows 9x系统</String> <String Name="InvalidPlatformWinNT">该组件需要Windows 2000及以上版本系统</String> <String Name="GeneralFailure">安装Microsoft Access Database Engine 2010时发生致命错误</String> </Strings> </Package>
- 修正完成后,完全关闭所有已打开的Visual Studio 2017窗口,再重新打开项目:VS不会实时刷新Bootstrapper包列表,必须完全重启IDE才会重新遍历Packages目录加载新的先决条件项。
- 如果重启后仍看不到条目,检查文件权限:Program Files (x86)目录受系统权限保护,确认你复制进去的所有文件都赋予了Users组读取权限,不要出现文件被占用、权限拒绝访问的情况。
- 额外注意:当前配置仅适配x86版本的
AccessDatabaseEngine.exe安装包,不要混入x64版本安装包,否则会出现架构不匹配的安装错误。
内容的提问来源于stack exchange,提问作者LARC
相关产品推荐
相关产品推荐

