关于.net:在安装过程中初始化user.config或app.exe.config

关于.net:在安装过程中初始化user.config或app.exe.config

Initializing user.config or app.exe.config during install

我正在开发一个依靠user.config来存储各种有用设置(如Intranet Web服务URL)的.NET WinForms应用程序。我们希望在安装过程中导入自定义的初始设置。这种情况的用例是,如果一家公司有100台计算机要在其上安装软件,并且它们都应参考所涉及的Intranet Web服务,则无需在所有计算机上手动进行设置。

我们当前正在使用VS2008安装项目来生成安装包。

到目前为止,我们的想法是使安装程序可以使用信息(来自模板)创建自定义的初始.config文件,然后将其放置到位,而不是安装项目安装的默认文件。

但是,除了以下几个方面,我看不到其他方法:

  • 为了使用ConfigurationManager类确定.config文件路径,将可执行文件名称硬编码到自定义安装程序操作(派生自System.Configuration.Install.Installer)中。如果可执行文件名称更改,则需要手动更改安装程序。
  • 滚动我们自己的配置类或文件/文件夹层次结构以存储设置。如果我理解正确的话,这基本上会使我们无法使用.NET提供的隔离机制的优势(这也是这里的障碍)。
  • 有谁知道任何替代方法,或使上述两种方法可口的方法?

    我担心答案可能是"不要这样做,它会破坏机制的精神,推出您自己的设置导入机制"。


    如果为大型公司创建此应用程序,则应查看组策略。不幸的是,它将使您的应用程序回到注册表的黄金时代。我知道,这将是您程序中的巨大变化,但这就是实现此目的的方法。

    但是,如果仅Web服务的URL,则必须以这种方式进行设置,那么GPO可能会显得过大。在这种情况下,我将对可执行文件的名称进行硬编码。


    我知道这并不是您要找的答案,但是您应该选择一个更"严肃"的安装程序。我们使用的是Advanced Installer,它非常实用,它可以完成所有您能想到的事情。


    如果可以在配置文件中对至少一个设置进行硬编码,则可以使用它来指向可以存储所有自定义配置设置的数据库或Web服务或网络文件路径。然后,可以使用System.Configuration.ConfigurationManager.OpenExeConfiguration()在第一次运行时或在每次应用程序启动时从该位置更新配置文件。


    推荐阅读

      linux命令行设置网卡?

      linux命令行设置网卡?,系统,地址,信息,网络,工具,电脑,工作,名称,设备,网卡,l

      linux的安装软件命令?

      linux的安装软件命令?,软件,系统,名称,发行,官方网站,市场,官网,密码,网站,

      linux安装dbe命令?

      linux安装dbe命令?,系统,电脑,通用,数据,环境,变动,在线,业务,信息,网站,LINU

      linux设置命令是什么?

      linux设置命令是什么?,系统,工作,信息,名称,地址,命令,在线,基础,标准,工具,l

      linux命令执行安装?

      linux命令执行安装?,软件,系统,管理,网站,官网,市场,中心,最新,灵活,工作,如

      linux系统安装命令集?

      linux系统安装命令集?,系统,软件,工作,工具,在线,信息,数据,官方网站,基础,

      dd命令安装linux?

      dd命令安装linux?,标准,设备,数据,系统,名称,位置,环境,信息,数字,情况,安卓L

      终端命令行安装linux?

      终端命令行安装linux?,软件,系统,工具,终端,工作,状态,公司,官网,中心,时间,l

      gpg命令安装linux?

      gpg命令安装linux?,系统,环境,软件,管理,在线,最新,密码,不了,信息,命令,为什

      linux服务器命令框?

      linux服务器命令框?,系统,情况,状态,信息,数据,软件,指标,服务,在线,工具,lin

      linux命令设置密码?

      linux命令设置密码?,密码,系统,服务,软件,地址,电脑,流程,管理,用户,命令,问

      linux更新安装命令行?

      linux更新安装命令行?,软件,系统,工作,在线,地址,名称,官网,命令,中心,情况,L

      linux命令安装ndk?

      linux命令安装ndk?,系统,平台,工具,工程,信息,代码,百度,环境,位置,名字,如何

      服务器linux命令教程?

      服务器linux命令教程?,系统,地址,密码,网络,设备,工作,服务,标准,连续,管理,

      linux开机服务命令行?

      linux开机服务命令行?,系统,工作,地址,信息,服务,设备,数字,第一,设计,发行,l

      linux服务器分区命令?

      linux服务器分区命令?,系统,管理,信息,设备,时间,命令,基础,首次,平均,情况,l

      安装时linux常用命令?

      安装时linux常用命令?,系统,工作,基础,地址,信息,工具,软件,命令,在线,数据,l

      linux下看服务的命令?

      linux下看服务的命令?,服务,状态,系统,名称,信息,工具,命令,环境,网络,情况,

      linux命令行设置语言?

      linux命令行设置语言?,系统,管理,环境,国家,工具,电脑,软件,文化,底部,语言,l

      linux设置壁纸的命令?

      linux设置壁纸的命令?,图片,系统,电脑,照片,位置,终端,颜色,字体,单击,壁纸,