如何在Windows安装程序的自定义操作中获取当前用户名?

Sep*_*tih 11 .net c# windows-installer

我需要获取运行安装程序的用户的用户名以进行自定义安装操作.因为安装程序获得特殊权限,所以Environment.UserName只提供"SYSTEM".

Environment.SpecialFolders.ApplicationData返回当前用户appdata文件夹,但我无法可靠地挖掘用户名.

更多案例细节:

使用Visual Studio 2008安装项目自定义操作是安装后运行的安装程序类,是项目中唯一的安装程序类.

小智 8

您可以从环境变量中获取一些信息.我在用

Environment.GetEnvironmentVariable( "USERNAME");

获取当前用户名.


sas*_*ont 3

基本上,你不能。

MSI 注释中的 UAC:凭据提示和权限解释了其中的一些内容,但实际上,一旦您提升了凭据,从安装程序的角度来看,当前登录的用户就是SYSTEM(您可以让多个人登录并运行应用程序)在机器上,所以你必须从流程本身的上下文来思考,而不是谁坐在物理机器前面)。