使用高级安装程序,我创建并运行了一个包含单个.exe的简单安装程序。
这个.exe从一个可执行的jar (w/ splashscreen)开始,并使用Launch4j内置到一个.exe中。
一旦安装了应用程序(在C:\Program (X86).中),我就无法从安装目录执行它。但是,如果我将.exe复制到其他任何地方、桌面或其他安装程序创建的任何其他目录,.exe就会启动得很好。
这似乎是文件夹或应用程序权限问题。将此文件夹与高级安装程序创建的权限进行比较,权限和设置是相同的。
我看到的唯一区别是,在已安装的.exe和复制到另一个文件夹的同一个.exe之间,“编辑权限”按钮上有一个管理屏蔽(一个最初由AI安装)。
高级安装程序中是否有允许我的.exe一旦安装就可以运行的设置,或者这仅仅是AI为了让您支付更健壮的版本而使用的诡计吗?我无法在操作系统中进行任何更改,使该文件能够在AI创建的目录中运行。
发布于 2013-10-03 20:36:17
造成此错误的原因是目标目录包含一个感叹号。"!“
我已经切换到使用InnoInstaller,它在最初的版本中工作,直到后来我切换目标dir以包括感叹号,它也以同样的方式被破坏了。(将其移除已修复)
不知道这是什么导致问题的原因,只是一个fyi。
发布于 2013-09-29 13:12:36
如果可执行文件无法从Program运行,但确实从另一个文件夹运行,则很可能会发生EXE需要对该文件夹进行写访问的情况。如果您使用“以管理员身份运行”选项启动它,它应该可以工作。这并不是由高级安装程序的限制造成的。
从Vista开始,您可以将清单文件嵌入到可执行文件中,该文件为操作系统指定了执行级别,因此您可以将该级别设置为"RequireAdministrator",因此,当从快捷方式或双击启动时,您的意愿EXE将始终在启动时使用“以管理员身份运行”选项。
https://stackoverflow.com/questions/19058727
复制相似问题