0

使用 Advanced Installer,我创建并运行了一个包含单个 .exe 的简单安装程序。

此 .exe 以可执行 jar(带闪屏)的形式开始,并使用 Launch4j 内置到 Windows .exe 中。

安装应用程序后(在 C:\Program Files (x86)... 中),我无法从安装目录执行它。但是,如果我将 .exe 复制到其他任何地方、桌面或其他安装程序创建的任何其他目录,.exe 将完美启动。

这似乎是文件夹或应用程序权限问题。比较此文件夹与 Advanced Installer 创建的文件夹之间的权限,权限和设置是相同的。

我看到,安装的 .exe 和复制到另一个文件夹的相同 .exe 之间的唯一区别是,“编辑权限”按钮上有一个管理员防护罩(最初由 AI 安装)。

Advanced Installer 中是否有设置允许我的 .exe 在安装后运行,或者这只是 AI 使用的诡计让您为更强大的版本付费?我无法在操作系统中进行任何更改,使该文件能够在 AI 创建的目录中运行。

4

2 回答 2

1

如果可执行文件无法从 Program Files 运行,但可以从另一个文件夹运行,则很可能您的 EXE 需要对该文件夹的写入权限。如果您使用“以管理员身份运行”选项启动它,它应该可以工作。这不是由 Advanced Installer 的限制引起的。

从 Vista 开始,您可以将清单文件嵌入到可执行文件中,该文件为操作系统指定执行级别,因此您可以将级别设置为“RequireAdministrator”,因此您的 EXE 将始终在您使用选项“启动它时运行”从快捷方式启动或双击时以管理员身份运行”。

于 2013-09-29T13:12:36.597 回答
1

此错误的原因是目标目录包含感叹号。“!”。

我已经切换到使用 InnoInstaller 并且它在初始版本中工作,直到我后来切换目标目录以包含感叹号,它以同样的方式被破坏。(删除它固定。)

不知道为什么这会导致问题,仅供参考。

于 2013-10-03T20:36:17.877 回答