0

我正在尝试从我的 Visual Studio 项目中卸载一个程序,但这似乎要求我以管理员身份运行 vs....所以我尝试从 cmd 执行此操作来调试它。

我已经设法从 cmd 使用此命令卸载了 msi setup 项目安装:

msiexec /x {3A40307D-6DF2-4412-842F-B1D848043367} /quiet ,但这仅在我以管理员身份启动 cmd 时有效,没有管理员权限,它不会卸载。我做错了什么,还有其他方法可以得到我想要的结果吗?

我希望能够静默卸载应用程序,而无需要求用户以管理员身份登录。

编辑:

这是日志的结果:

错误 1001。错误 1001。无法删除文件 C:\ProgramData\XXX.InstallState。调试:错误 2769:自定义操作 _F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstall 未关闭 1 个 MSIHANDLE。安装程序在安装此软件包时遇到意外错误。这可能表明此软件包有问题。错误代码是 2769。参数是:_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstall, 1, CustomAction _F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstall 返回实际错误代码 1603(请注意,如果翻译发生在沙箱内,这可能不是 100% 准确:InstallExecute5:144 结束。返回值 3。操作于 17:54:40 结束:安装。返回值 3. MSI (s) (F0:3C) [17:54:40:355]: Product: XXX -- 移除失败。

4

2 回答 2

0

看来您在这里有几个选择。所有这些都需要创建一个从一开始就不需要管理员权限的 msi。如果 msi 从一开始就需要它们(例如,您无法控制 msi 的创建),则无法绕过它。这完全取决于正在编辑的文件是否真的需要管理员权限。查看此答案:如何创建不需要管理员访问权限的 Windows 安装程序 MSI

于 2013-03-17T15:29:41.723 回答
0

日志文件中的错误表明自定义操作正在崩溃。您需要调查该问题的根本原因。我的猜测是自定义操作需要提升(管理员权限)才能正常工作,但没有标记为延迟(即在 MSI 提升的部分运行)。

如果您从添加/删除程序(程序和功能)启动 MSI 的卸载,则不应提示您输入提升的凭据。因此,根本问题可能是这个自定义操作。

于 2013-03-17T21:31:46.547 回答