【问题标题】:Configuration GUI Deployment, Place in the same directory? C#配置GUI部署,放在同一个目录下? C#
【发布时间】:2011-08-07 20:18:04
【问题描述】:

我正在编写一个 GUI 来配置我用 C#.NET 3.5 编写的服务,它编辑一个嵌入式 SQLite 数据库,服务从中提取其设置。 GUI 正在一个单独的项目中开发,我正处于我想集成它们的地步。这是我第一次实现这样的东西,我不确定我是怎么做的。

我是否只是将 GUI .exe 文件放在与服务相同的目录(bin?)中并为其提供数据库的位置?

【问题讨论】:

    标签: c# .net user-interface directory config


    【解决方案1】:

    是的,通常。但是,您将不得不要求提升,否则您将无法写入 dbase。 UAC 防止对 c:\program 文件中的目录进行写访问。没关系,用户毕竟在修改特权服务的配置。您可能需要停止和启动服务以使配置更改生效,您只能通过特权程序执行此操作。如this post 中所述,在 gui.exe 中嵌入清单。

    抢先解决下一个问题:没有标准的 Windows 方法必须在服务和您的 gui 都可以访问的位置进行 dbase,而无需提升。您必须编写一个安装程序来创建一个目录,该目录为 gui 应用程序提供足够的权限,并允许服务在不依赖用户名的情况下找到该目录。

    【讨论】:

    • 谢谢汉斯。你能解释一下其余的文件吗?在我的 GUI 目录中,我有 bin、gtk-gui、类、pibd (?) 文件等...我应该将整个 GUI 项目文件夹放在服务的 bin 文件夹中吗?或者也许反过来?另外,如果可能的话,你能告诉我是否有跨平台的解决方案,代码是为 .net/mono 编写的,并且可以移植。
    • 您忘记用 [mono] 标记您的问题。如果你发了,我就不会发帖了。
    • 哦,抱歉,我将进一步调查有关单声道的问题。抛开单声道,将 GUI 放在程序目录中并为其提供相对路径(即 /project/bin/dbase.s3db)是否不够?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2014-12-02
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多