如果需要特权提升,Inno Setup安装程序具有可用于控制安装程序启动时的PrivilegesRequired指令.我希望我的安装程序甚至可以为非管理员用户工作(没有问题将我的应用程序安装到用户文件夹,而不是Program Files).所以我设置PrivilegesRequired为none(未记录的值).这使得UAC仅为管理员用户提示弹出,因此他们甚至可以安装到Program Files.没有UAC提示非管理员用户,所以即使他们可以安装应用程序(到用户文件夹).
这有一些缺点:
是否有一些方法可以在需要时(当用户选择仅由管理员帐户写入的安装文件夹时)使Inno Setup请求权限提升?
我假设在Inno Setup中没有这个设置.但可能有一个程序化的解决方案(Inno Setup Pascal脚本)或某种插件/ DLL.
请注意,即将推出的Inno Setup 6具有对非管理安装模式的内置支持.
我有一个VB6应用程序,使用以下命令打开文件及其关联的应用程序
ShellExecute(0, "open", filename, params, vbNullString, vbNormalFocus)
Run Code Online (Sandbox Code Playgroud)
这非常有效.
现在我有一个客户(使用Adobe Reader运行XP)无法使用上述命令打开任何PDF文件.但是从Windows资源管理器中双击它时,同一个文件正在打开而没有任何问题.我还测试了我的机器上的文件名/路径组合,以排除这些问题.
我正在寻找任何有关我可以检查以确保ShellExecute工作的提示.或者是什么导致ShellExecute以这种方式失败?
file ×1
inno-setup ×1
pascalscript ×1
privileges ×1
registry ×1
shellexecute ×1
uac ×1
vb6 ×1
winapi ×1