c - windows应用程序开发: a nebie's dilemna! EXE和安装的.exe版本?

标签 c winapi installation

WINDOWS:(.exe) 文件和已安装的 .exe 应用程序有什么区别?

通常,c/c++ IDE 会给您 FILENAME.EXE(PE 格式)应用程序输出(控制台、GUI 两者);单击时输出将运行,但它不享受安装软件包等设施!它有什么区别?

如何将二进制 PE 格式的 .exe 文件转换为具有完全专业风格的标准可安装软件包?请提供哪些选项是免费的?

最佳答案

.exe 文件和“已安装的 exe 应用程序”之间没有区别,只是安装程序将其复制到了该位置。

安装程序通常允许用户选择应用程序 (.exe) 的安装位置、创建任何必要的快捷方式和注册条目、“开始”菜单条目等。可执行文件 (.exe) 仍然相同。

以上所有操作也可以手动完成。安装程序只是将它们捆绑起来并自动执行该过程,以使用户更轻松,并确保一切都正确完成。

有数十个安装创建包(包括创建部署包时 Visual Studio 本身包含的包)。如果您不需要基于 MSI 的安装,一个流行的免费软件是 Inno Setup 。它是免费的,允许您非常轻松地自定义安装,并且使用相当广泛。

如果您必须有 MSI 安装程序,WIX是一个流行的选择,尽管它比 Inno Setup 更难学习和使用。

还有许多其他可用的安装程序,包括免费的和商业的。有关其他可能性的详细信息,请在此处搜索“Windows 安装程序”或尝试在 Google 或 Bing 中搜索相同内容。

关于c - windows应用程序开发: a nebie's dilemna! EXE和安装的.exe版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899185/

相关文章:

c - 套接字 TCP : Why do I lose messages with scanf

c - 绘制简单的点

c++ - 无法从虚拟键码转换为 unicode

deployment - JRE 安装如何工作?

python - Pygame 已安装;然而,python 终端显示 "No module named ' pygame' "(Ubuntu 20.04.1)

c++ - 使用 -static-libgcc -static-libstdc++ 编译仍然会导致对 libc.so 的动态依赖

c++ - fgetwc EOF 循环测试失败,但 65535 OK

c++ - 通过 IShellFolder 接口(interface)枚举打印机文件夹导致堆分配泄漏

c++ - 对于我的关键代码部分,如何在短时间内关闭操作系统中切换线程的中断?

python - 如何使用 Mac 终端将 python 3.6 更新到 3.7