如何打包VC程序,在一个没有安装VC的电脑上也可以运行

来源:互联网 发布:mac mini拆机 编辑:程序博客网 时间:2024/04/30 06:34

1.打包前的准备

(1)在电脑中安装InstallShield for Microsoft Visual C++ 6(如果安装VC的时候已经安装了 InstallShield就可以跳过这一步。)安装包参考http://download.csdn.net/detail/ltsos8/1713303

(2)准备打包程序所需要的DLL文件。利用VC6.0自带的Depends软件,该软件在VC6安装目录下的tools文件夹里面   D:/Microsoft Visual Studio/Common/Tools,直接双击执行,然后打开exe文件即可。左上角是Dll信息窗口,显示你程序所需的Dll模块,我们只需要关注这一部分即可。以我的程序为例,打开EXE之后,如图所示。Depends软件参考http://blog.csdn.net/spiritedaway/article/details/6271347

我把这里面提到的12DLL文件整理到一个新建的文件夹下(暂且名为文件夹1),打包的时候就可以直接全选。但是,除了这12个DLL之外,还把我的程序所在的工程文件夹中所有的DLL拷贝到文件夹1里面(我觉得这样肯定能包含全面)。这样还是没能成功,在没有安装的VC电脑上提示找不到“MSVCRTD.DLL”。通过百度查询,我最后在电脑C盘中WINDOWS/SysWOW64找到了MSVCRTD.DLL,把它也包含进文件夹1。所以同胞们,打包不成功的时候提示哪个DLL文件找不到,你就得自己找到这个文件,打包的时候重新包含进去。这个过程一定要有耐心,我也是试了很多次,才包含全面的。

2.生成Release版本
对于已经调试(debug)完成的工程,在确保程序无误之后,在VC中生成发行版(release)。 生成发行版过程如下:Build(组建)->Set Active configuration(批组建...)->选中win32release,如图所示。然后Build->rebuild All,完成之后,就在工程目录下多了一个Release文件夹。里面有*.exe。这个文件很关键,要在后面用到。

3.使用InstallShield向导
在VC环境下Tools-》InstallShield Wizard向导。(1)Welcome页加载工程文件(工程路径下的*dsw文件),(2)Application Information页,填写应用程序名,公司名称,应用程序类型,版本,应用程序(.exe.dll.ocx)等信息,前面几个都可以按默认设置,只有最后一个是最关键的地方,这里要选择在Release文件夹中的*.exe文件。确定后,就进入到了InstallShield的IDE环境。

4.InstallShield中添加DLL文件

(1)InstallShield的IDE启动后,选择File  Groups页签。该页签的功能是指定安装程序将要用到文件,并按照不同分类分组。鼠标右键点击Links,选择Insert Files,在弹出的对话框中选择文件夹1,将所有的DLL文件都打开。

(2)选择Components 页签,该页签主要是创建组件并将创建的组件和File Groups中的文件分组关联起来,组件是安装程序可使用的最小单元,用鼠标双击Included File Groups。弹出一个“Properties”对话框,点击Add。弹出一个对话框“Add File Group"可以看到之前创建的文件分组,选择该组件需要包含的文件分组,点击OK确定。

此过程参考http://download.csdn.net/detail/fengjunkuan2006/1286100(有详细图解。推荐!!!!)

5.找到打包位置

打开InstallShield工程文件夹,C:\My Installations)->Media->New Media->Disk Image->disk1就可以看到我们所熟知的安装文件了。点击Setup图标就可以尝试安装,安装成功后,在安装文件夹中出现两个图标,*.exe和Uninst.isu文件。点击*exe就可以运行程序了,你也可以创建一个快捷方式到桌面,方便运行程序。Unist.isu是一个卸载程序的文件。不能直接执行,不过在控制面板中的添加删除程序中,看到*.exe后就可以正常删除了。

参考http://blog.csdn.net/wangjinyong13/article/details/28628461


0 0