在Visual Studio 2008中以非管理员身份调试或构建

9
我正在尝试在一所大学的计算机实验室安装Visual Studio 2008。实验室的机器(XP Pro)配置为学生登录时没有管理员权限。因此,当我尝试在Visual Studio 2008中构建或调试类库项目时,会出现以下错误:“无法注册程序集'C:\ Documents and Settings(用户名)\ My Documents \ Visual Studio 2008 \ Projects \ testproj \ testproj \ bin \ Debug \ testproj.dll' - 访问被拒绝。请确保您以管理员身份运行应用程序。访问注册表键'HKEY_CLASSES_ROOT \ test.cmdTest'被拒绝。”
在之前的Visual Studio版本中,有一个选项可以将非管理员帐户添加到“调试器用户”和“VS开发人员”组中,这将使他们能够调试和构建DLL。 Visual Studio 2008是否包括类似的功能,并且这是否是解决方案?我没有看到安装时添加组。如果不包括此功能,是否有其他方法来解决此问题?允许学生拥有机器的管理员权限或Power User权限是不可行的。
非常感谢您的任何建议,想法或见解。
4个回答

2

为什么不考虑使用某种虚拟化技术呢?在虚拟机上安装Visual Studio,这样,学生犯的任何错误都会在一定程度上是虚拟的。

但是要保持镜像文件的备份,以便及时恢复。


这可能是目前最好的解决方案。让学生在虚拟化环境中使用管理员权限进行项目工作,完成后再将其清除。 - VS Installer

1

也许不是你想要的答案,但你可以通过右键单击VS2008/devenv.exe并选择管理员运行,然后让实验室技术人员输入管理员凭据。这样,VS2008将拥有所需的权限,但你的学校不会泄露敏感的登录/密码。

你的学校应该更改组策略以允许你构建项目。寻求友好教授的帮助。


1
需要如何更改组策略才能允许这个操作? - VS Installer

1

你在做一个网络应用程序吗?我相信对于非网络应用程序,你不需要管理员权限。

如果这不是一个网络应用程序,也许只是一个文件系统权限问题?

来自:

http://msdn.microsoft.com/en-us/library/ms165100.aspx

Visual Studio的用户权限要求因操作系统和Visual Studio版本而异。在Windows Vista上,大多数任务不需要管理员权限即可在Visual Studio 2008上执行,但是为了正确执行任务,Visual Studio 2005必须在管理员权限下运行。在Windows Server 2003及更早版本中,Users组的成员可以在集成开发环境(IDE)中执行大多数活动。


这是一个Windows应用程序,但我正在使用COM互操作进行注册,需要管理员权限。 - VS Installer
我相信你可以在项目设置中关闭COM组件的自动注册。手动注册组件一次,然后让IDE仅编译二进制文件而不进行注册。如果更改接口,则需要重新注册组件,但显然不必每次编译/调试都这样做。 - user29117

-1

看起来你正在尝试在COM中注册程序集。

无法访问注册表项'HKEY_CLASSES_ROOT\test.cmdTest'。

你是否在你的assemblyinfo.cs或项目属性中设置了[assembly:ComVisibleAttribute(true)]属性?尝试将其设置为assembly:ComVisibleAttribute(false)


它需要对COM互操作可见,因此属性需要为true。 - VS Installer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接