vc2008开发的程序的发布方式
来源:互联网 发布:临沂软件培训 编辑:程序博客网 时间:2024/05/22 19:36
vc2008开发的程序的发布方式可以有5种方式:
1、 采用静态链接到crt和MFC.
只要你拥有组成程序的所有源代码,你就可以采用这种方式,这种方式除了程序变大一点,好处多多:
1)不必重新发布vc2008基础库vcredist_x86.exe(安装到WinSxS).
2) 不必产生,嵌入manifest.
3) 也不把vc2008基础库放在程序所在目录.
2、exe(嵌入manifest) + vcredist_x86.exe
确保程序正确产生并嵌入manifest文件,然后把程序和vcredist_x86.exe一起发布.用户先安装vcredist_x86.exe(安装到WinSxS),然后程序就能正常运行了.
3、exe(嵌入manifest) + 用到的基础库文件放到程序目录(包括库文件本身的manifest文件)
确保程序正确产生并嵌入manifest文件,然后把程序用到的vc2008基础库相关文件复制到程序所在目录,这种方式适用于用户没有安装过vcredist_x86.exe,一旦用户安装过vcredist_x86.exe,若WinSxS中的相关文件遭到破坏,那么即使在程序目录放上所有用到的vc2008基础库,程序也跑不起来;若WinSxS中的相关文件正常,那么程序目录下的相关文件就是多余的了,删掉它们程序也能正常运行.
4、exe(自行编写manifest) + vcredist_x86.exe
5、exe(自行编写manifest) + 用到的基础库文件放到程序目录(包括库文件本身的manifest文件)
另外,C:\Program Files\Common Files\Merge Modules目录下有相应库的集成模块可以直接集成到安装包中去.
1、 采用静态链接到crt和MFC.
只要你拥有组成程序的所有源代码,你就可以采用这种方式,这种方式除了程序变大一点,好处多多:
1)不必重新发布vc2008基础库vcredist_x86.exe(安装到WinSxS).
2) 不必产生,嵌入manifest.
3) 也不把vc2008基础库放在程序所在目录.
2、exe(嵌入manifest) + vcredist_x86.exe
确保程序正确产生并嵌入manifest文件,然后把程序和vcredist_x86.exe一起发布.用户先安装vcredist_x86.exe(安装到WinSxS),然后程序就能正常运行了.
3、exe(嵌入manifest) + 用到的基础库文件放到程序目录(包括库文件本身的manifest文件)
确保程序正确产生并嵌入manifest文件,然后把程序用到的vc2008基础库相关文件复制到程序所在目录,这种方式适用于用户没有安装过vcredist_x86.exe,一旦用户安装过vcredist_x86.exe,若WinSxS中的相关文件遭到破坏,那么即使在程序目录放上所有用到的vc2008基础库,程序也跑不起来;若WinSxS中的相关文件正常,那么程序目录下的相关文件就是多余的了,删掉它们程序也能正常运行.
4、exe(自行编写manifest) + vcredist_x86.exe
5、exe(自行编写manifest) + 用到的基础库文件放到程序目录(包括库文件本身的manifest文件)
另外,C:\Program Files\Common Files\Merge Modules目录下有相应库的集成模块可以直接集成到安装包中去.
与程序对应的manifest的格式:
<?xml version='1.0' encoding='UTF-8'standalone='yes'?><assembly xmlns='urn:schemas-microsoft-com:asm.v1'manifestVersion='1.0'><trustInfoxmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level='asInvoker'uiAccess='false' /> </requestedPrivileges> </security></trustInfo><dependency> // VC9 的CRT, 基本上所有用vc2008的程序都需要下面一段 <dependentAssembly> <assemblyIdentity type='win32'name='Microsoft.VC90.CRT' version='9.0.21022.8'processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'/> </dependentAssembly></dependency> //用到 VC9的MFC库,需要加下面一段<dependency> <dependentAssembly> <assemblyIdentity type='win32'name='Microsoft.VC90.MFC' version='9.0.21022.8'processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'/> </dependentAssembly></dependency><dependency> //想使用windows xp 的6.0版本的通用控件,加需要下面一段 <dependentAssembly> <assemblyIdentity type='win32'name='Microsoft.Windows.Common-Controls' version='6.0.0.0'processorArchitecture='x86' publicKeyToken='6595b64144ccf1df'language='*' /> </dependentAssembly></dependency></assembly>
- vc2008开发的程序的发布方式
- 部署vc2008开发的程序
- 如何发布VC2005/VC2008编译的程序
- 如何发布VC2005/VC2008编译的程序
- 如何发布VC2005/VC2008编译的程序
- 关于“vc2008程序发布”的实践
- 如何在不安装VC2008发布包的情况下,发布VC2008生成的程序
- VC2008开发的程序的部署
- VC2005和VC2008编写的程序的发布方法
- 关于VC2008程序发布的问题记录说明
- 部署VC2008的程序
- vc2008程序发布指南
- vc2008程序发布指南
- VC2008程序的runtime环境
- [转]VC2008程序发布指南
- 基于VC2008的sqlite3的例子程序
- OCCI开发的程序发布
- VC2008减小对话框程序大小的方法 .
- 快速排序(QuickSort)的C#实现(采用随机化主元方式)
- Singleton模式
- Java核心技术很优美的代码1
- @suppressWarnings("unchecked") java 中的意义
- 8086实模式寻址演义
- vc2008开发的程序的发布方式
- 淘宝实习回顾--校园招聘
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- 利用C语言中的回调函数实现策略模式
- 内存重叠问题,memcpy,memmov,strcpy
- 在JAVA中如何跳出当前的多重嵌套循环?
- 位运算符偏解
- Hbase--Quick Start
- zoj 1334