使用Winforms应用程序配置Windows服务
我有一个由Winform和Windows服务组成的项目。安装后,它们都存在于相同的公用文件夹c:\program files中\ 我希望Winform能够在两个应用程序共享的公共xml文件中设置连接字符串、密码、日志文件路径等设置。我将处理所有的加密和解密,所以这不是我的问题 问题似乎是,当安装应用程序时,Winform无法更新文件,并且我收到一个拒绝访问错误,尽管我是一个拥有绝对桌面权限的完整域管理员 问题是,如何允许Winform在Winform应用程序和它希望配置的Windows服务之间定义公共连接字符串使用Winforms应用程序配置Windows服务,winforms,windows-services,Winforms,Windows Services,我有一个由Winform和Windows服务组成的项目。安装后,它们都存在于相同的公用文件夹c:\program files中\ 我希望Winform能够在两个应用程序共享的公共xml文件中设置连接字符串、密码、日志文件路径等设置。我将处理所有的加密和解密,所以这不是我的问题 问题似乎是,当安装应用程序时,Winform无法更新文件,并且我收到一个拒绝访问错误,尽管我是一个拥有绝对桌面权限的完整域管理员 问题是,如何允许Winform在Winform应用程序和它希望配置的Windows服务之间定
我不想依赖machine.config,而是希望自己的XML文件包含所有配置选项。我一定缺少了一些简单的东西,一个简单的解决方案?由于Microsoft似乎已经转向application.config路径,并且真正开始锁定注册表,所以注册表在过去只会带来麻烦。再加上整个WOW6432分支,它的使用变得更加困难 我目前的解决方案似乎工作得很好,它需要有以下函数来指向相同的位置,无论是从服务调用还是从Winform调用,只要两者具有相同的公司名称和产品名称。然后我将自己的XML配置文件放在那个位置,一切都很好
' **********************************************************************************************************
' Returns Commong Data Folder
' If folder does not exist, it attempts to create it
' **********************************************************************************************************
Public Function GetCommonDataFolder(ByRef ErrorMessage As String) As String
Dim Result As String = ""
Result = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) & "\" & My.Application.Info.CompanyName & "\" & My.Application.Info.ProductName
Try
Directory.CreateDirectory(Result)
Catch ex As Exception
ErrorMessage = "An exception occurred creating directory: " & Result & ": " & ex.Message
End Try
Return Result
End Function
这不是一个答案,而是一个解决办法——您是否考虑过使用注册表而不是xml文件?