当我复制文件夹中的文件时,我有一个在目标计算机上运行的.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
我尝试了以下方法来解决问题:
通过一些试验和错误,大约6个月前,但我不记得我做了什么。任何想法将不胜感激。
答案 0 :(得分:3)
安装与应用程序实际运行时发生的情况大多无关。您无法以某种方式使安装允许有限的用户运行需要提升的应用程序。如果您希望应用程序运行提升,那么需要提升清单的是什么,而不是执行安装的setup.exe。
最可能的原因是WiX将应用程序安装到Program Files文件夹,而应用程序正在尝试创建或更新该位置的文件。 Program Files文件夹始终需要提升权限才能在那里创建/更新文件。基本上崩溃信息没有帮助,因为问题是代码试图访问或更新需要提升的东西,因此代码需要调试。
这里的基本观点是安装不能保佑"已安装的应用程序,以便有限的用户可以使用它来执行需要提升的事情。应用程序需要调试它正在做什么需要提升,并且常见的问题是尝试更新有限用户无法访问的位置的文件,例如Program Files,Common Files文件夹。