Inno setup Inno安装程序-在没有管理员权限的情况下执行安装程序时,防止安装并执行程序

Inno setup Inno安装程序-在没有管理员权限的情况下执行安装程序时,防止安装并执行程序,inno-setup,Inno Setup,我希望我的安装程序在开始时检查管理权限,如果没有,则执行弹出表单并退出安装的程序 程序MyAfterInstall(); 变量 MyProgChecked:布尔值; 错误代码:整数; 开始 MyProgChecked:=非IsAdminLogedon; 如果MyProgChecked=true,则 ShellExec(“”,ExpandConstant(“”\users\public\EzPasteFiles\RAADMIN.EXE'),“”, '',SW_SHOW,ewNoWait,错误代码)

我希望我的安装程序在开始时检查管理权限,如果没有,则执行弹出表单并退出安装的程序

程序MyAfterInstall();
变量
MyProgChecked:布尔值;
错误代码:整数;
开始
MyProgChecked:=非IsAdminLogedon;
如果MyProgChecked=true,则
ShellExec(“”,ExpandConstant(“”\users\public\EzPasteFiles\RAADMIN.EXE'),“”,
'',SW_SHOW,ewNoWait,错误代码);
退出过程(0);
结束;
我的问题是,在哪里放置以及如何使RAADMIN.EXE可用于该过程

我试过了,但没有成功

Source: "c:\Dropbox\word\EzPasteOffice64Win10\RunAsAnAdminTutorial\RAADMIN.exe"; \
  DestDir: "\users\public\EzPasteFiles"; AfterInstall: MyAfterInstall 

将代码放入函数InitializeSetup()
中,安装程序启动时首先调用该函数

如果从该函数返回False,安装程序将立即退出


详细信息:

要检查管理员权限并有条件中止安装,请使用

要在安装前提取一些文件,请使用

当然,这一切都是有意义的,只有当你设定了。否则,您的安装程序将永远不会在没有管理员权限的情况下运行

[设置]
所需特权=最低
[档案]
来源:“C:\Source\path\RAADMIN.exe”;标志:dontcopy
[守则]
函数InitializeSetup():Boolean;
变量
错误代码:整数;
路径:字符串;
开始
结果:=真;
如果不是我的话
开始
日志(“没有管理员权限,正在执行RAADMIN”);
提取临时文件('RAADMIN.exe');
路径:=ExpandConstant('{tmp}\RAADMIN.exe');
如果未执行(路径,'','',开关显示,ewNoWait,错误代码),则
开始
MsgBox('执行RAADMIN时出错',mbError,MB_OK);
结束;
结果:=假;{中止安装}
结束;
结束;


不过,如果只是显示一个表单,你是否考虑过在iNo安装程序中实现表单?

谢谢它工作得很好,但是我注意到一个奇怪的行为。表单弹出,但在我正确卸载后再次出现…知道为什么吗?我试过其他表格,但对你的申请一无所知。你试过调试它吗?