Visual Studio 2010 Professional, 目标框架/平台:.Net 4 / x64
我为我的应用程序构建了一个安装项目,当打开它的属性然后打开先决条件时,我没有看到列出的“Visual C ++ 2010运行时库(x64)”。但是,先决条件中列出了x86版本 。 vcredist_x86和vcredist_x64目录都已确认存在于:
中C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages
我已经在两台不同的开发机器上证实了这一点,并且使用不同的解决方案进行了安装项目。
中4.0的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路径作为字符串值添加到文件夹目录中(我在构建新包之前已成功完成此操作,以便在先决条件列表中显示新包),但仍然没有运气。
有什么想法吗?
答案 0 :(得分: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)现在将两个新路径作为String Values添加到Folders目录:
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运行时库(x64)”将在先决条件中可用。