我正在开发一个 .NET WinForms 应用程序,它依赖于 user.config 来存储各种有用的设置,例如 Intranet Web 服务 URL。我们希望能够在安装过程中导入自定义初始设置。其用例是,如果一家公司想要在 100 台计算机上安装该软件,并且它们都应该引用相关的 Intranet Web 服务,则不需要在所有计算机上手动设置。
我们目前使用VS2008安装项目来生成安装包。
到目前为止,我们的想法是让安装程序能够使用信息(来自模板)创建自定义初始 .config 文件,然后将其放置到位,而不是安装项目安装的默认文件。
但是,除了这几个之外,我看不到其他方法可以做到这一点:
- 将可执行文件名称硬编码到自定义安装程序操作(派生自 System.Configuration.Install.Installer)中,以便使用 ConfigurationManager 类来确定 .config 文件路径。如果可执行文件名称发生更改,则需要手动更改安装程序。
- 滚动我们自己的配置类或文件/文件夹层次结构来存储设置。如果我理解正确的话,这基本上会阻止我们利用 .NET 提供的隔离机制的优势(这也是这里的障碍)。
有谁知道任何替代方案,或者使上述两种方法变得可口的方法?
我担心答案可能是“不要这样做,它违背了机制的精神,推出你自己的设置导入机制”。
如果您为较大的公司创建此应用程序,那么您应该看看组策略 http://technet.microsoft.com/en-us/windowsserver/grouppolicy/default.aspx。不幸的是,它会让您的应用程序回到注册表的黄金时代。我知道,这将是您的程序的巨大变化,但这就是实现这一目标的方法。
但是,如果 Web 服务的 URL 是唯一的,您必须以这种方式进行设置,那么 GPO 可能就有点大材小用了。在这种情况下,我会对可执行文件的名称进行硬编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)