writing to registry with an assembly
hi@all!
I have a component (assembly) with an object that writes data to a registry key.
When this is run from a Windows app, it works like a charm. When run from a web app, it doesnt work.
here is the code:
Code:
Public Function sendandprint(ByVal path As String)
Dim Key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\pdfMachine\BroadGun pdfMachine", True)
Dim f As New RegistryPermission(RegistryPermissionAccess.AllAccess, Key.Name)
f.Assert()
Dim success As Integer
Dim strfile As String
Dim strpath As String
Dim pdffile As String
Dim reader As StreamReader = New StreamReader(path + "pdfpath.txt")
pdffile = reader.ReadLine
reader.Close()
Try
If Not IsNothing(Key) Then
Key.SetValue("DefaultSaveDir", path)
Key.SetValue("DefaultSaveFilename", pdffile)
strfile = Key.GetValue("DefaultSaveFilename")
strpath = Key.GetValue("DefaultSaveDir")
Key.Close()
Dim fs4 As New FileStream(path & "print.txt", FileMode.Append)
Dim sw4 As New StreamWriter(fs4)
sw4.WriteLine("done")
sw4.Close()
Else
Dim fs4 As New FileStream(path & "print.txt", FileMode.Append)
Dim sw4 As New StreamWriter(fs4)
sw4.WriteLine("is nothing")
sw4.Close()
End If
Catch ex As Exception
Dim fs4 As New FileStream(path & "print.txt", FileMode.Append)
Dim sw4 As New StreamWriter(fs4)
sw4.WriteLine(ex.Message + " Fehler beim Schreiben")
sw4.Close()
End Try
End Function
thx for any suggestions u have!
greetings
Re: writing to registry with an assembly
does the aspnet acct have full access on both reg and filesystem? It might be easier to test by adding the aspnet acct to the admin group...just a thought
Re: writing to registry with an assembly
Hellswraith is correct, the ASPNET account (default) will not have sufficient access to the registry as it will not be a local Administrator. You can instead change IIS to use the SYSTEM account which may have sufficient access rights :thumb: