Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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
C#设置项目输出自动以管理权限启动_C#_Permissions_Installation_Project - Fatal编程技术网

C#设置项目输出自动以管理权限启动

C#设置项目输出自动以管理权限启动,c#,permissions,installation,project,C#,Permissions,Installation,Project,我已经为一个.net应用程序创建了一个安装项目,该项目运行良好。问题是,应用程序在启动后开始写入日志文件,这需要windows vista和windows 7上的管理权限。我知道有些文件夹我可以在没有管理权限的情况下写入。当我以管理员身份启动应用程序时,一切正常 我问自己,是否可以在VisualStudio中更改安装项目,使已安装的应用程序自动拥有目标系统的管理权限 提前谢谢你的帮助 亚历克斯你不想这样做。如果它需要特定目录的权限,那么创建一个拥有这些权限的帐户(或者修改子目录的权限以便任何人都

我已经为一个.net应用程序创建了一个安装项目,该项目运行良好。问题是,应用程序在启动后开始写入日志文件,这需要windows vista和windows 7上的管理权限。我知道有些文件夹我可以在没有管理权限的情况下写入。当我以管理员身份启动应用程序时,一切正常

我问自己,是否可以在VisualStudio中更改安装项目,使已安装的应用程序自动拥有目标系统的管理权限

提前谢谢你的帮助


亚历克斯

你不想这样做。如果它需要特定目录的权限,那么创建一个拥有这些权限的帐户(或者修改子目录的权限以便任何人都可以访问它)。但不要只为一个功能以管理员身份运行。另外,请查看是否有您已经有权写入的其他目录。

要回答您的直接问题,您可以为安装项目设置启动条件以要求管理员,我相信这将为您处理适当的升级

这里有一个详细的说明


现在,进一步说,我同意Steven的观点,你不应该这样做,至少不应该仅仅为了写一个日志文件….

你可以通过一个糟糕的黑客技术来做到这一点:想法是让运行提升的安装程序创建一个以管理员身份运行程序的计划任务

安装程序不会直接创建应用程序的快捷方式,而是创建执行此计划任务的快捷方式

有关如何手动执行此操作,请参见以下参考:

您只需要找到一种方法,从设置中以编程方式创建任务


另一方面,我也完全同意史蒂文的观点。试着用“正确”的方式做,不要欺骗Windows安全。这是一件好事,解决它会使系统潜在地不安全,你不想成为一个危及其他计算机安全的人。

这是一个有趣的答案,但我不确定它是否符合这个问题。如果我理解正确,Alex希望应用程序在执行时拥有日志目录的权限,而您发布的链接是关于确保安装程序以管理员身份运行。现在,原则上,安装程序可以通过修改日志目录的DACL将其公开给所有用户来利用作为管理员的优势,但尽管这可能有效,但我不建议这样做。@Steven-我同意,但这确实让海报问到了他们想要什么,应用程序以管理员身份运行,他们可以做他们需要做的事情。不过,我同意应该做另一种选择。出于日志目的升级不是一个“好”的解决方案。我想我们在这一点上是一致的。为了记录在案,这是由一个对我不满的人任意否决的。