.exe和Inno Setup返回的.exe之间的区别 – 已安装的应用程序失败

我不知道是什么问题,但由于某种原因我的.exe文件和从Inno Setup运行安装程序后得到的.exe文件是不一样的。

没有抛出错误代码或任何东西,它编译得很完美,但我的应用程序中的工具栏(程序是用Java swing制作的)没有正确包含它们的按钮。 我有两个持有JButton的JToolBars(每个按钮都有一个图像)。 当我使用Launch4j将我的程序包装到exe中时它运行得很好,但是当我运行我在使用Inno Setup后得到的exe时,这些工具栏不能正确按住按钮。 它们缩小到更小的尺寸,按钮非常小,可能是2px x 2px。 除非盘旋,否则也看不到它们。 为什么Inno Setup的exe与原来的exe有什么不同?

Inno安装程序不会以任何方式修改已安装的EXE文件。

如果应用程序在安装时失败,那么它本身并不是Inno Setup的错误,而是部署过程中的错误。

安装的应用程序失败的可能原因很多,包括但不限于:

  • 你省略了一些依赖
    • DLL库
    • .NET Framework
    • Java运行时环境
    • 其他运行时
    • COM / ActiveX对象等
  • 该应用程序需要一些配置
    • 一份文件
    • 注册表项[包括COM / ActiveX对象注册]
    • 环境变量等
  • 某些应用程序需要对其文件夹进行写访问。 由于Inno Setup默认情况下将应用程序安装到“Program Files”文件夹,其中写访问受限,此类应用程序将失败。

如果有人想知道我是如何解决它的,我只是将.exe移动到安装程序的目录,当它提示你在Inno Setup中添加你的.exe时,它应该在它默认打开的目录中。 不知道为什么会有效(或者如果这是程序的要求),但它对我有用