【发布时间】:2015-04-08 10:49:58
【问题描述】:
我有一个在 Visual Studio Community 2013 下开发的简单 C++ 程序(带有 Boost 库的命令行)。我想将它部署在其他 Windows 计算机上,因此我正在 Visual 中测试 InstallShield LE(我是新手与 InstallShield)。我在当前解决方案中添加了一个 InstallShield 项目,并设法创建了一个 setup.exe。
当我在另一台计算机上测试它时,设置似乎正常,但是当我尝试应用程序时,我遇到了奇怪的错误:
MyProgramm.exe --help
发送正确的结果(但不是很有趣)。
MyProgramm.exe -i InputDirectory -o OutputDirectory
失败,Windows 显示此消息:
一个问题导致程序停止正常工作。如果有可用的解决方案,Windows 将关闭该程序并通知您。
我错过了什么?
我只构建了发布配置。如何确定我已检查所有合并模块或 InstallShield 先决条件?
【问题讨论】:
-
这与 InstallShield 有什么关系?也许您的程序存在您从未意识到的错误。
-
不行,程序在有visual的电脑上运行正常。
-
在这种情况下,我首先要检查的是您是否链接到调试 crt dll。这些是不可再分发的,我认为链接到它们会使这个错误出现在没有安装 VS 的不同机器上。否则,您的程序逻辑可能无法解释文件系统中的差异。
-
我只构建了发布配置。如何确定我已检查所有合并模块或 InstallShield 先决条件?
-
@Melanie 如果它是你的程序,你应该知道它需要什么才能在另一台没有Installshield的机器上正确运行。您应该知道需要哪些第三方 DLL。了解这一点的一种方法是将应用程序的可执行文件拖到“Dependency Walker”之类的程序中,然后查看所需的 DLL 是什么。
标签: c++ visual-studio-2012 deployment installshield