My applications typically run in a Citrix/Terminal Services environment.
I have installed applications in the past and have run into problems with
regular users not being able to retrieve my application's settings because
they did not have adequate permissions to the registry key.
I have never created the keys during installation. Perhaps the permissions
are different when creating the keys during installation using the Registry
Editor in Visual Studio?
I have always created and manipulated keys using the following code:
Sub ReadRegistry(ByVal ParentKey As RegistryKey, ByVal SubKey As String, _
ByVal ValueName As String, ByRef Value As Object)
Dim Key As RegistryKey
Try
'Open the registry key.
Key = ParentKey.OpenSubKey(SubKey, True)
If Key Is Nothing Then 'if the key doesn't exist
'Throw New Exception("The registry key doesn't exist")
End If
'Get the value.
Value = Key.GetValue(ValueName)
Console.WriteLine("Value:{0} for {1} is successfully retrieved.", Value,
ValueName)
Catch e As Exception
Console.WriteLine("Error occurs in ReadRegistry" & e.Message)
End Try
End Sub
Sub WriteRegistry(ByVal ParentKey As RegistryKey, ByVal SubKey As String, _
ByVal ValueName As String, ByVal Value As Object)
Dim Key As RegistryKey
Try
'Open the registry key.
Key = ParentKey.OpenSubKey(SubKey, True)
If Key Is Nothing Then 'if the key doesn't exist.
Key = ParentKey.CreateSubKey(SubKey)
End If
'Set the value.
Key.SetValue(ValueName, Value)
Console.WriteLine("Value:{0} for {1} is successfully written.", Value,
ValueName)
Catch e As Exception
Console.WriteLine("Error occurs in WriteRegistry" & e.Message)
End Try
End Sub
"Crouchie1998" <cr**********@spamcop.net> wrote in message
news:un**************@TK2MSFTNGP15.phx.gbl...
Hi Kevin,
Aha
What you need to do is when you create your setup program... you have the
registry editor in there. Create the keys you want with the registry
editor
& then they will be crated on installation, as you want.
Whwn you use registry permissions like I posted before on a non-admin
account the you 'should' by rights have the appropriate permissions. If
not,
use 'DEMAND', but not all circumstances will give you access rights with
that & there is no 'Revert Demand' either. So, I am not sure how you would
go about revoking registry permissions unless you destroy the object.
I have written many programs that access the registry & I have never had a
single user not being able to have the keys created/manipulated. Maybe,
there is something wrong in your code & that is why you are having
problems.
Awaiting your reply,
Crouchie1998
BA (HONS) MCP MCSE