普通用户无法执行 WiX 安装的程序
WiX installed program cannot be executed by normal user
当我将文件复制到文件夹中时,我有一个 .net 程序 运行 在目标机器上(由非管理员)。
但是,当我创建一个安装程序(使用 Wix)安装到目标机器上并尝试 运行 它时,出现以下错误:
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: RN14W3TBEKIWLLFBCD5MLN3WYLZ522KZ
Problem Signature 02: 1.7.20.0
Problem Signature 03: 57afb905
Problem Signature 04: mscorlib
Problem Signature 05: 4.0.30319.34209
Problem Signature 06: 53489fcf
Problem Signature 07: 4524
Problem Signature 08: 13c
Problem Signature 09: System.UnauthorizedAccess
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 1033
Additional Information 1: e3b9
Additional Information 2: e3b9870467ec4722310fb4741c3dc189
Additional Information 3: 88d1
Additional Information 4: 88d10b8987a6d3ce2924300f4efa24bb
我尝试了以下方法来解决问题:
- 在包命令中尝试使用 installScope 作为 perMachine 和 perUser
- 在 setup.exe 中添加了清单并将 requestedExecutionLevel 更改为 asInvoker 和 requireAdministrator。
通过一些试验和错误,这在大约 6 个月前工作,但我不记得我做了什么。任何想法将不胜感激。
安装与应用程序实际 运行s 时发生的情况基本无关。您不能让安装以某种方式允许受限用户 运行 需要提升的应用程序。如果您希望应用程序 运行 提升,那么这就是需要提升清单的原因,而不是执行安装的 setup.exe。
最可能的原因是 WiX 将应用程序安装到 Program Files 文件夹,并且该应用程序正在尝试在该位置创建或更新文件。 Program Files 文件夹始终需要提升权限才能访问那里的 create/update 文件。基本上崩溃信息没有帮助,因为问题将是代码正在尝试访问或更新需要提升的内容,因此代码需要调试。
这里的基本点是安装不能 "bless" 安装的应用程序,因此它可以被有限的用户用来做需要提升的事情。需要对应用程序进行调试,了解它正在做什么需要提升,一个常见的问题是尝试更新受限用户无法访问的位置的文件,例如 Program Files、Common Files 文件夹。
当我将文件复制到文件夹中时,我有一个 .net 程序 运行 在目标机器上(由非管理员)。
但是,当我创建一个安装程序(使用 Wix)安装到目标机器上并尝试 运行 它时,出现以下错误:
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: RN14W3TBEKIWLLFBCD5MLN3WYLZ522KZ
Problem Signature 02: 1.7.20.0
Problem Signature 03: 57afb905
Problem Signature 04: mscorlib
Problem Signature 05: 4.0.30319.34209
Problem Signature 06: 53489fcf
Problem Signature 07: 4524
Problem Signature 08: 13c
Problem Signature 09: System.UnauthorizedAccess
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 1033
Additional Information 1: e3b9
Additional Information 2: e3b9870467ec4722310fb4741c3dc189
Additional Information 3: 88d1
Additional Information 4: 88d10b8987a6d3ce2924300f4efa24bb
我尝试了以下方法来解决问题:
- 在包命令中尝试使用 installScope 作为 perMachine 和 perUser
- 在 setup.exe 中添加了清单并将 requestedExecutionLevel 更改为 asInvoker 和 requireAdministrator。
通过一些试验和错误,这在大约 6 个月前工作,但我不记得我做了什么。任何想法将不胜感激。
安装与应用程序实际 运行s 时发生的情况基本无关。您不能让安装以某种方式允许受限用户 运行 需要提升的应用程序。如果您希望应用程序 运行 提升,那么这就是需要提升清单的原因,而不是执行安装的 setup.exe。
最可能的原因是 WiX 将应用程序安装到 Program Files 文件夹,并且该应用程序正在尝试在该位置创建或更新文件。 Program Files 文件夹始终需要提升权限才能访问那里的 create/update 文件。基本上崩溃信息没有帮助,因为问题将是代码正在尝试访问或更新需要提升的内容,因此代码需要调试。
这里的基本点是安装不能 "bless" 安装的应用程序,因此它可以被有限的用户用来做需要提升的事情。需要对应用程序进行调试,了解它正在做什么需要提升,一个常见的问题是尝试更新受限用户无法访问的位置的文件,例如 Program Files、Common Files 文件夹。