2010-05-05 35 views
2

我为.net应用程序创建了一个安装项目,它工作正常。问题是,应用程序在启动后开始写入日志文件,这需要Windows Vista和Windows 7的管理权限。我知道有一些文件夹可以用来写入,而无需管理权限。当我以管理员身份启动应用程序时,一切正常。C#安装项目输出自动以管理权限开始

我问自己,如果可以在安装的应用程序自动拥有目标系统的管理权限的方式下更改Visual Studio中的安装项目?

感谢您提前给予的帮助!

亚历克斯

回答

4

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

+0

为了记录,这是由任何人不满我的任意downvoted。 – 2010-07-22 15:45:58

0

要回答你的直接问题,是的,你可以设置安装项目的启动条件,要求管理员,我相信这会照顾到适当的升级。

这里是一个thread与详细的说明。

现在,扩大,我同意史蒂芬,你不应该这样做,至少不会只是为了能够写入日志文件.....

+0

这是一个有趣的答案,但我不确定它是否符合问题。如果我理解正确,Alex会希望应用程序在执行时拥有日志目录的权限,而您发布的链接是关于确保安装程序以管理员身份运行。现在,原则上,安装程序可以利用作为管理员通过修改日志目录的DACL将其公开给所有用户,但这虽然可行,但我不会推荐它。 – 2010-05-05 15:58:27

+0

@Steven - 我同意,但这确实让海报成为他们想要的问题,应用程序以管理员身份运行,他们可以做他们需要做的事情。我同意,应该做一个不同的选择。为记录目的升级,不是一个“好”的解决方案 – 2010-05-05 16:01:35

+0

我想我们在这里的同一页。 – 2010-05-05 16:14:35

0

你可以在技术上有坏做到这一点黑客:这个想法是让运行的安装程序提升,创建一个以admin身份运行程序的计划任务。

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

看到这个关于如何手动那个做参考:http://www.howtogeek.com/howto/windows-vista/create-administrator-mode-shortcuts-without-uac-prompts-in-windows-vista/

你只需要找到一个方法来从您的设置编程创建任务。

另一方面,我也完全同意史蒂文。尽量做到“正确”的方式,不要欺骗Windows安全。这是一件好事,解决它会使系统潜在地变得不安全,并且你不想成为危害其他计算机安全的人。