【问题标题】:Is there any way to use runasoriginaluser in uninstallrun in inno setup?有没有办法在 inno setup 的uninstallrun 中使用runasoriginaluser?
【发布时间】:2023-03-02 21:32:01
【问题描述】:

我使用 docker-toolbox 和 inno 安装脚本编写了一个应用程序,用于在 Windows 10 中安装应用程序。

我想在卸载程序的同时删除 docker-toolbox 虚拟机。但是,VM 无法通过遵循 inno 安装脚本完全删除。

[Setup]
PrivilegesRequired=none

[UninstallRun]
Filename: "{cmd}"; Parameters: "/C ""docker-machine rm -y myDocker"""

命令“docker-machine rm -y myDocker”在我的用户 cmd 中运行时始终有效,但在 inno setup uninstallrun 中无效。

我检查并发现 docker-toolbox 是基于 VirtualBox 的。 VirtualBox 使用每个用户的环境。成为 root(或任何其他用户)不会授予您对原始用户 VM 的访问权限或更多权限。 总是以实际创建 VM 的用户身份执行 VM 操作。因此,我必须在卸载运行中以原始用户身份运行命令,但我找不到这样做的方法。

期待帮助和支持,我在这个问题上花了很多时间。
有什么办法可以在inno setup的uninstallrun中使用runasoriginaluser?

【问题讨论】:

    标签: virtualbox inno-setup docker-toolbox


    【解决方案1】:

    您不应从以管理员权限运行(为所有用户安装软件)的(卸载)安装程序修改特定用户配置文件。

    Installing application for currently logged in user from Inno Setup installer running as Administrator


    UninstallRun 部分不支持runasoriginaluser 标志。可能是因为无论如何它在那里没有任何用处。 Run 部分中的标志的作用是它以最初执行安装程序的权限执行程序。但是,当从控制面板/设置应用程序执行时,卸载程序(对于提升到管理员权限的安装程序)会立即以管理员权限执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      • 2021-02-22
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多