我正在开发一个WinForms应用程序,该应用程序将在全国各地拥有多个物理位置的公司使用。
此应用程序将打开文件(例如PowerPoint),这些文件将通过单独的同步过程放置在每个工厂的本地服务器上。
我的挑战是创建一个可以在任何设施上运行的一次性安装程序,但一旦安装,它就会知道在哪里查找本地文件。有一个中央SQL服务器,所以所有安装都有一个公共连接字符串,他们每个都可以查询数据库以获取具有本地服务器路径的记录,但我不能想到一种方法,当程序启动它时知道它是什么设施。
我能想到的唯一选择是为每个工厂创建一个单独的单击一次安装程序,其中包含的信息可以让它知道它的使用位置。这显然是非常有问题的,因为我必须创建和维护多个安装程序,并希望用户在需要时选择合适的安装程序。
有人对此有好主意吗?
谢谢!
答案 0 :(得分:0)
正如您对问题的评论中所说,您可以在app.config
文件中添加一个参数,并为每个设施修改它。但正如已经说过的那样,您需要为每个设施重新签署申请。
由于您希望拥有单个安装文件,因此使用ClickOnce是一个非常糟糕的主意。 >您不会获得一个安装文件,而不是创建的应用程序清单以及子文件夹中的所有* .exe和* .dll文件。还会生成bootstraper(setup.exe)。如果您需要单个安装文件,则必须使用其他设置技术。
例如,有list on wikipedia个可用的安装程序技术。 您可能需要搜索一下满足您需求的安装程序技术。 但是大多数专业软件都应该提供这样的功能。