2009-08-24 8 views
9

Sto tentando di installare Visual Studio 2008 nel laboratorio informatico di una università. Le macchine da laboratorio (XP Pro) sono configurate in modo tale che gli studenti non dispongano dei diritti di amministratore quando si collegano. Quindi, quando provo a creare o eseguire il debug di un progetto di libreria di classi in Visual Studio 2008, viene visualizzato questo errore: "Impossibile registrare l'assembly" C: \ Documents and Settings (nome utente) \ Documenti \ Visual Studio 2008 \ Projects \ testproj \ testproj \ bin \ Debug \ testproj.dll '- accesso negato. Assicurati di eseguire l'applicazione come amministratore. la chiave di registro "HKEY_CLASSES_ROOT \ test.cmdTest" è negata. "Eseguire il debug o compilare come non amministratore in Visual Studio 2008

Nelle versioni precedenti di Visual Studio, era possibile aggiungere l'account non amministratore ai gruppi Debugger Users e VS Developers e ciò consentirebbe loro di eseguire il debug e creare DLL. Visual Studio 2008 include funzionalità simili e questa sarebbe anche la soluzione? Non vedo i gruppi aggiunti con l'installazione. Se questa funzionalità non è inclusa, c'è un altro modo per risolvere questo problema? La possibilità per gli studenti di avere diritti di amministratore o diritti di Power User per le macchine è fuori questione.

Qualsiasi suggerimento, idea o intuizione sarebbe molto apprezzato.

risposta

1

Probabilmente non è la risposta desiderata, ma è possibile avviare VS facendo clic con il pulsante destro del mouse su VS2008/devenv.exe> ​​"Esegui come" e selezionare l'amministratore e fare in modo che il laboratorio tecnico inserisca le credenziali di amministratore. In questo modo, VS2008 avrà i diritti richiesti, ma la tua scuola non sta fornendo un accesso/password sensibile.

La tua scuola dovrebbe cambiare la politica di gruppo per permetterti di costruire i tuoi progetti. Arruolare l'aiuto di un professore amichevole per questo.

+1

Come deve essere modificato il criterio di gruppo per consentire ciò? –

1

Stai facendo un'applicazione web? Credo che per le applicazioni non Web, non è necessario i diritti di amministratore.

Se questa non è un'applicazione Web, forse si tratta solo di un problema di autorizzazioni del file system?

Da:.

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

"requisiti di autorizzazione utente per Visual Studio variano a seconda del sistema operativo e la versione Visual Studio In Windows Vista, Visual Studio 2008 non richiede autorizzazioni di amministratore per eseguire la maggior parte delle operazioni , ma Visual Studio 2005 deve essere eseguito con le autorizzazioni di amministratore per eseguire correttamente le attività. Su Windows Server 2003 e versioni precedenti, i membri del gruppo Users possono eseguire la maggior parte delle attività nell'ambiente di sviluppo integrato (IDE). "

+0

Si tratta di un'app di Windows, ma mi sto registrando con l'interoperabilità COM, che richiede i diritti di amministratore. –

+0

Credo che si possa disattivare la registrazione automatica per i componenti COM nelle impostazioni del progetto. Registrare il componente manualmente una volta e lasciare che l'IDE compili il file binario senza registrarlo. Sarà necessario registrare nuovamente il componente se si cambia l'interfaccia, ovviamente .. Ma non è necessario eseguire ogni singola compilazione/debug. – user29117

2

Perché non prendere in considerazione l'utilizzo di qualche tipo di virtualizzazione? Installa Visual Studio su una macchina virtuale, quindi, ogni casino che uno studente farà, sarà virtuale in una certa misura.

Tieni comunque una copia pronta e fresca del file immagine.

+0

Questa è probabilmente la soluzione migliore al momento. Chiedi agli studenti di lavorare su progetti in un ambiente virtualizzato con diritti di amministratore e poi buttali via quando hanno finito. –

-1

Sembra che si stia tentando di registrare l'assembly in COM.

Access to the registry key 'HKEY_CLASSES_ROOT\test.cmdTest' is denied."

Stai configurazione di un attributo [assembly:ComVisibleAttribute(true)] nelle AssemblyInfo.cs o proprietà del progetto? Prova a impostarlo su assembly:ComVisibleAttribute(false).

+0

Deve essere visibile per l'interoperabilità COM, quindi l'attributo deve essere vero. –

Problemi correlati