我正在编写一个GUI来配置用C#.NET 3.5编写的服务,它编辑了一个嵌入式SQLite数据库,服务从该数据库中提取其设置。 GUI正在一个单独的项目中开发,我正处于我想要集成它们的地步。这是我第一次实施这样的方式而且我不确定我是怎么做的。
我只是将GUI .exe文件放在与服务相同的目录(bin?)中,并为其提供数据库的位置吗?
答案 0 :(得分:1)
是的,通常。但是,您必须要求提升,否则您将无法写入dbase。 UAC阻止对c:\ program文件中目录的写访问。这是好的,用户毕竟是在修改特权服务的配置。您可能需要停止并启动服务以使配置更改生效,这是您只能从特权程序执行的操作。如this post中所述,在gui.exe中嵌入清单。
预先解决下一个问题:没有标准的Windows方法可以在服务和gui都可以访问的位置进行dbase而不需要提升。您必须编写一个安装程序,该安装程序创建一个目录,为gui应用程序提供足够的权限,并允许服务查找目录而不依赖于用户名。