Chiavi di registro

venerdì 09 febbraio 2007 - 12.03

batfracasso Profilo | Newbie

Ciao a tutti,
sono alle prime armi con vb 2005 e sto cercando di leggere e scrivere delle variabili di sistema nel Regedit.
Se faccio girare il programma sul mio pc dove ho installato vb 2005 va tutto bene, ma se provo su altri pc mi dice: "OPERAZIONE NON CONSENTITA" e il dettaglio dell'eccezione è lunghissimo.
Vi riporto solo le prime righe.

************** Testo dell'eccezione **************
System.Security.SecurityException: Richiesta di autorizzazione di tipo 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' non soddisfatta.
in System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
in System.Security.CodeAccessPermission.Demand()
in System.Environment.get_UserDomainName()
in VBNETRegistryHandling.Form1.ShowProductID_Click(Object sender, EventArgs e)
in System.Windows.Forms.Control.OnClick(EventArgs e)
in System.Windows.Forms.Button.OnClick(EventArgs e)
in System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
in System.Windows.Forms.Control.WndProc(Message& m)
in System.Windows.Forms.ButtonBase.WndProc(Message& m)
in System.Windows.Forms.Button.WndProc(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Azione non riuscita:
Demand
Tipo della prima autorizzazione non riuscita:
System.Security.Permissions.EnvironmentPermission
Area dell'assembly con errori:
Internet
*********************************************

Il codice del programma è questo:
*********************************************
Imports Microsoft.Win32
Imports System
Imports System.Reflection
Imports System.Security
Imports System.Security.AccessControl

Dim key_ce As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion")
If key_ce Is Nothing Then
key_ce = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion")
End If
ShowProductID.Text = key_ce.GetValue("ProductName").ToString()
key_ce.Close()
**********************************************

Avete qualche suggerimento?
Ciao Cesare

totti240282 Profilo | Guru

Forse non ha i privilegi per modificare il registro ???
C'è solo un capitano !!!!!!

batfracasso Profilo | Newbie

Ho i privilegi per modificare il registro (manualmente faccio tutto quello che voglio).

Ciao Cesare

MarKonE Profilo | Guru

Penso manchino le autorizzazioni per far girare a pieno l'applicazione.

Prova a dare un'occhiatina qui : http://msdn2.microsoft.com/en-us/library/zdc263t0(VS.80).aspx

Ciao!



My Blog... http://blogs.dotnethell.it/Mark/

batfracasso Profilo | Newbie

Ho fatto una prova impostando manualmente il framework come descritto dall'articolo...
FUNZIONA.

Non c'è un modo per impostare il tutto da programma non preoccupandomi assolutamente di dover eseguire ogni volta le operazioni nel framework?

MarKonE Profilo | Guru

>Ho fatto una prova impostando manualmente il framework come descritto
>dall'articolo...
>FUNZIONA.

Bene..quindi il problema ora è chiaro.

>Non c'è un modo per impostare il tutto da programma non preoccupandomi
>assolutamente di dover eseguire ogni volta le operazioni nel
>framework?

Vedi se questo articolo ti può essere utile : http://msdn2.microsoft.com/it-it/library/13wcxx6y(VS.80).aspx

Ciao

My Blog... http://blogs.dotnethell.it/Mark/

batfracasso Profilo | Newbie

Grazie per l'articolo, purtroppo il mio programma deve settare le variabili d'ambiente di windows e poi fare delle copie di cartelle (tipo installazione) e quindi non posso seguire questa strada.
Potrei usare strade alternative?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5