我正在开发一个 .NET WinForms 应用程序,它依赖于 user.config 来存储各种有用的设置,例如 Intranet Web 服务 URL。我们希望能够在安装过程中导入自定义初始设置。用例是,如果一家公司有 100 台机器要安装软件,并且它们都应该引用相关的 Intranet Web 服务,则不需要在所有机器上手动设置。
我们目前正在使用 VS2008 安装项目来生成安装包。
到目前为止,我们的想法是使安装程序能够使用信息(来自模板)制作一个自定义的初始 .config 文件,然后将其放置在适当的位置,而不是安装项目安装的默认文件。
但是,除了这几个之外,我看不到其他方法:
- 将可执行文件名称硬编码到自定义安装程序操作(源自 System.Configuration.Install.Installer)中,以便使用 ConfigurationManager 类来确定 .config 文件路径。如果可执行文件名称发生更改,这将需要手动更改安装程序。
- 滚动我们自己的配置类或文件/文件夹层次结构来存储设置。如果我理解正确的话,这基本上会阻止我们使用 .NET 提供的隔离机制(这也是这里的障碍)的优势。
有谁知道任何替代方案,或使上述两个可口的方法?
我担心答案可能是“不要这样做,它违背了机制的精神,滚动你自己的设置导入机制”。