C# 无管理权限的静默卸载msi程序包命令

C# 无管理权限的静默卸载msi程序包命令,c#,.net,visual-studio-2010,windows-installer,setup-project,C#,.net,Visual Studio 2010,Windows Installer,Setup Project,我正试图从我的VisualStudio项目中卸载一个程序,但这似乎要求我以管理员身份运行vs…所以我尝试从cmd中执行此操作以调试它 我已通过cmd中的以下命令成功卸载了msi安装项目安装: msiexec/x{3A40307D-6DF2-4412-842F-B1D848043367}/quiet,但这只在我以管理员身份启动cmd时起作用,没有管理员权限它不会卸载。我做错了什么?有没有其他方法可以得到我想要的结果 我希望能够静默卸载应用程序,而不必要求用户以管理员身份登录 编辑: 这是日志的结果

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

我已通过cmd中的以下命令成功卸载了msi安装项目安装:

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

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

编辑:

这是日志的结果:

错误1001。错误1001。无法删除文件C:\ProgramData\XXX.InstallState。 调试:错误2769:自定义操作_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0。卸载未关闭1个MSI句柄。 安装程序在安装此程序包时遇到意外错误。这可能表明此软件包存在问题。错误代码是2769。参数是:_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstall,1, CustomAction_F6174138_B428_4AB6_9FEF_C4DD7A69BDC0.uninstall返回的实际错误代码1603(注意,如果在沙盒内进行翻译,则可能无法100%准确) 操作于17:54:40结束:InstallExecute。返回值3。 操作于17:54:40结束:安装。返回值3。
MSI(F0:3C)[17:54:40:355]:产品:XXX--删除失败。

看起来您在这里有几个选项。所有这些都需要创建一个从一开始就不需要管理员权限的msi。如果msi从一开始就需要它们(例如,您无法控制msi的创建),那么就没有办法了。这完全取决于正在编辑的文件,以及是否确实需要管理员权限。查看以下答案:

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


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

你说得对,它确实需要管理权限才能工作,我正在使用自定义操作在安装后为应用程序创建快捷方式。如何解决这个问题?删除自定义操作或是否有任何选项使其不需要管理员权限?为什么要通过自定义操作创建快捷方式?Windows安装程序支持创建快捷方式。除此之外,要求标高纯粹是安装要求的函数。如果要安装到perMachine位置,则需要高程。只安装到perUser位置,您可以避免安装。在安装中,我有一个选项供用户选择是创建快捷方式还是不创建快捷方式,我不知道如何让安装程序执行此操作,这取决于用户在没有自定义操作的情况下选择的内容。如果你有任何想法,请告诉我。调节你的组件。对不起,我不明白你所说的调节组件的真正含义=/