如何在具有提升权限的WiX中创建的MSI中运行自定义操作?

Jai*_*ime 4 installer windows-installer custom-action wix

我有一个安装程序,需要访问注册表并使用自定义操作复制和删除文件.在Windows XP中,安装程序工作正常,但在Vista和7中,安装程序显示错误,因为它无法访问文件夹,但如果我以管理员身份运行安装程序,则一切正常.

因此,我需要安装程序能够以管理员身份运行自定义操作,即使MSI没有以这种方式运行(需要安装程序由常规用户运行).我尝试在安装开始时使用EXE修改注册表并允许MSI正常运行,但我不认为这是一个非常好的解决方案.

PS.由于客户端要求,Bootstrapper不是一个选项:S我的所有自定义操作都是延迟的并且impersonate ="no"

有任何想法吗?谢谢

Cos*_*rvu 5

确保:

  • 它是在InstallInitialize之后安排的
  • "执行"属性设置为延迟
  • "Impersonate"属性设置为no

请注意,延迟的自定义操作无法访问安装会话,因此您无法直接访问安装程序属性.