1

Visual Studio 2010 Professional,目标框架/平台:.Net 4/x64

我为我的应用程序构建了一个安装项目,当打开它的属性和先决条件时,我没有看到“Visual C++ 2010 Runtime Libraries (x64)”列出。但是,x86 版本在先决条件列出。vcredist_x86 和 vcredist_x64 目录均已确认存在于:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages

我已经在两台不同的开发机器上确认了这一点,并且具有设置项目的不同解决方案。

4.0 in 的 GenericBootstrapper 路径

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper\4.0

已确认指向正确的目录。

当查看包的注册表项时

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders

我注意到存在 x86 可再发行组件的路径

   C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86\
   C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86\en\

但 x64 包的路径存在。我将两个 x64 路径作为字符串值添加到文件夹目录中(我之前在构建新包时已成功完成此操作,以便让新包出现在先决条件列表中),但仍然没有运气。

有什么想法吗?

4

1 回答 1

0

我没有找到解决已安装 vcredist_x64 软件包问题的方法,但确实找到了解决方法。

1) 在

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\

将vcredist_x64目录复制到 Packages 目录中的新名称(我将其重命名为“custom_vcredist_x64”)。

2) 在 RegEdit 中,转到

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders

3) 在文件夹中,删除原始安装包的路径字符串(如果存在):

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x64\
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x64\en\

4) 现在将两个新路径作为字符串值添加到文件夹目录:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\custom_vcredist_x64\
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\custom_vcredist_x64\en\

5) 关闭注册表编辑器后,“Visual C++ 2010 Runtime Libraries (x64)”将在 Prerequisites 中可用。

于 2012-09-05T16:37:18.670 回答