使用Advanced Installer,我创建并运行了一个包含单个.exe。
的简单安装程序这个.exe最初是一个可执行的jar(带有splashscreen),并使用Launch4j内置到Windows .exe中。
安装应用程序后(在C:\ Program Files(x86)...中),我无法从安装目录中执行它。但是,如果我将.exe复制到其他任何地方,桌面或其他安装程序创建的任何其他目录,.exe将完美启动。
这似乎是文件夹或应用程序权限问题。比较此文件夹与Advanced Installer创建的文件夹之间的权限,权限和设置是相同的。
我看到,安装的.exe和复制到另一个文件夹的相同.exe之间的唯一区别是“编辑权限”按钮上有一个管理屏蔽(最初由AI安装)。
高级安装程序中是否有一个设置允许我的.exe在安装后运行,或者这只是AI用来让你为更强大的版本付费?我无法对允许此文件在AI创建的目录中运行的操作系统进行任何更改。
答案 0 :(得分:1)
如果可执行文件无法从Program Files运行但是从另一个文件夹运行,则很可能发生EXE需要对该文件夹的写访问权。如果使用“以管理员身份运行”选项启动它,它应该可以工作。这不是由Advanced Installer的限制引起的。
从Vista开始,您可以将清单文件嵌入到可执行文件中,该文件为操作系统指定执行级别,因此您可以将级别设置为“RequireAdministrator”,因此您的EXE将始终与您启动它时的行为一致从快捷方式启动或双击时选项“以管理员身份运行”。
答案 1 :(得分:1)
此错误的原因是目标目录包含感叹号。 “!”。
我已经切换到使用InnoInstaller并且它在初始版本中工作,直到我后来切换目标目录以包含感叹号,并且它以相同的方式被破坏。 (将其删除固定。)
不知道为什么会导致这个问题,只是一个问题。