为ClickOnce前提条件指定VC ++可再发行版本
时间:2020-03-06 14:36:47 来源:igfitidea点击:
我的ClickOnce应用程序使用需要重新分发Visual C ++ 2005的第三方工具。如果仅安装了VC ++ 2008可再发行组件,则第三方工具将无法使用。但是,在Visual Studio 2008中,ClickOnce准备工作不允许为VC ++可再发行文件指定版本;它将添加VC ++ 2008的准备工作,这在大多数情况下是有意义的。但是,在这种情况下,需要较早的版本。 ClickOnce是必需的,因此合并模块是不可能的。关于如何指定版本的任何想法?
解决方案
我相信我们可以为应用打开清单文件,并修改应用应该链接到的redist版本。清单中的列表应与C:\ Windows \ WinSxS目录中的内容匹配。有一个CodeProject页面,它很好地描述了使用不同的可再发行组件。
如果可以找到安装了VS 2005的计算机,则解决方案应该不会太难。我们可以自定义项目的"发布"选项卡上的"准备工作"对话框中显示的内容。
- 在安装了VS 2005的计算机上,转到\ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages,然后将vsredist_x86文件夹复制到要从中发布的计算机上。
- 重命名该文件夹,将其命名为vsredist
_
x86_
2005或者类似名称。 - 在文件夹内,编辑\ en \ package.xml文件。将
<String Name =" DisplayName">
标记更改为有意义的标记(Visual C ++ 2005 Runtime Libraries(x86)),以使其与现有的2008软件包区分开。 - 将该文件夹复制到C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages。
- 如果已打开,请重新启动Visual Studio。
现在,当我们打开"准备工作"对话框时,应该会看到2005软件包的新条目。我没有完全测试该解决方案,因此我可能错过了一些细节,但希望这可以入门。