Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation 如何在WiX中创建的具有提升权限的MSI内运行自定义操作?_Installation_Wix_Windows Installer_Custom Action - Fatal编程技术网

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

Installation 如何在WiX中创建的具有提升权限的MSI内运行自定义操作?,installation,wix,windows-installer,custom-action,Installation,Wix,Windows Installer,Custom Action,我有一个安装程序,需要访问注册表,并使用自定义操作复制和删除文件。 在Windows XP中,安装程序工作正常,但在Vista和7中,安装程序显示错误,因为它无法访问文件夹,但如果我以管理员身份运行安装程序,则一切正常 因此,我需要安装程序能够以管理员身份运行自定义操作,即使MSI没有以这种方式运行(需要安装程序由普通用户运行)。我在安装开始时尝试使用EXE来修改注册表并允许MSI正常运行,但我认为这不是一个很好的解决方案 PS.由于客户要求,引导程序不是一个选项:S 我的所有自定义操作都被延迟

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

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

PS.由于客户要求,引导程序不是一个选项:S 我的所有自定义操作都被延迟并模拟=“否”

有什么想法吗?
谢谢

您的自定义操作必须在
InstallInitialize
InstallFinalize
操作之间排序

运行安装程序时是否会收到UAC提示?如果执行每台机器安装,当您单击向导中的安装按钮时,将得到UAC提示。若并没有得到UAC提示,那个么check属性设置为2。另请参见

确保:

  • 这是在安装初始化之后安排的
  • “执行”属性设置为延迟
  • “模拟”属性设置为no
请注意,延迟的自定义操作无法访问安装会话,因此您无法直接访问安装程序属性