我已经使用docker-toolbox和inno setup脚本编写了一个应用程序,用于Windows 10中的应用程序安装。
并且我想在卸载程序的同时删除docker-toolbox VM。但是,VM无法通过遵循inno setup脚本完全删除。
[Setup]
PrivilegesRequired=none
[UninstallRun]
Filename: "{cmd}"; Parameters: "/C ""docker-machine rm -y myDocker"""
无论何时以我的用户cmd运行,命令“ docker-machine rm -y myDocker”始终有效,但在inno setup uninstallrun中不起作用。
然后我检查并发现docker-toolbox基于VirtualBox。 VirtualBox使用每个用户的环境。成为root用户(或任何其他用户)不会 not 赋予您访问原始用户VM的权限或更多权限。 始终以实际创建VM的用户身份执行VM操作。因此,我必须在uninstallrun中以原始用户身份运行命令,但是我找不到这样做的方法。
期待获得帮助和支持,我已经在这个问题上花费了很多时间。
有什么方法可以在inno setup的uninstallrun中使用runasoriginaluser?
答案 0 :(得分:1)
您不应从以管理员权限运行的(卸载)安装程序中修改特定的用户配置文件(为所有用户安装软件)。
runasoriginaluser
部分不支持 UninstallRun
标志。可能是因为它无论如何都没有用。该标志在Run
节中的作用是,它以最初执行安装程序的特权执行程序。但是,从控制面板/设置应用程序执行后,卸载程序(对于提升为管理员权限的安装程序)将立即以管理员权限执行。