visual studio 2013部署项目

时间:2014-06-04 18:29:06

标签: c++ visual-studio-2013

我已经开头了,我需要部署一个项目。我尝试使用InstallShield,它创建一个msi文件,本地安装没有错误,但是当我尝试启动程序时,它输出" debug error"。在我的设置代码生成器中 - >运行时库设置为多线程调试DLL(/ MDd)。如果我将它设置为多线程(/ MT)则无法编译:"请使用/ MD开关进行_AFXDLL构建"

enter image description here

enter image description here

然后我尝试使用VS Installer项目扩展。它创建了msi和安装文件,但在安装之后,我找不到.exe文件和启动程序。我做错了什么?

包含项目文件的文件夹 ![在此输入图像说明] [3]

带exe文件的文件夹 ![在此处输入图像说明] [4]

2 个答案:

答案 0 :(得分:1)

在为程序创建安装程序的阶段,您必须在程序的工作目录中放置程序所需的所有外部文件,库和资源,以便正确运行。当您通过Visual Studio运行程序时,一切正常,因为它可以找到文件,因为正如您所提到的,它们位于项目文件夹中,项目文件夹是Visual Studio正在查找它们的位置。

当您在VS外部启动程序时,程序无法找到这些文件,因为它默认尝试将它们放在正在运行的.exe文件所在的文件夹中。因此,如果您不想在VS外部运行程序,则需要将所需的所有文件放在.exe的目录中。

出于同样的原因,在创建安装程序时,您需要将安装目标目录中所需的所有文件与.exe一起包含在内。每个安装程序创建者都允许您这样做。

一般情况下,如果您无法在任何IDE之外运行程序,并且可以在该IDE中运行它,那么您应首先检查是否已包含所有必需的文件/ libraries / dll / etc,这是一条经验法则。 。在你的程序的工作目录中。

答案 1 :(得分:0)

我解决了!!!!!!!!

1)帮助运行.exe文件,帮助将.uld文件更新到与exe文件相同的目录中。

2)我使用Dependency Walker(http://www.dependencywalker.com/)来查找它需要的所有dll。然后我在"选择文件中使用向导创建一个安装项目以包含"步骤我添加它依赖的每个文件和每个库!建设 - > Install->然后魔术,我的应用程序安装并运行!谢谢大家的帮助