我一直坚信使用Windows安装文件(MSI)来安装我的新Windows窗体应用程序后,我问了一个问题,并得到了一些优秀的答案(谢谢大家) :.Net应用程序部署
现在我有一个不同的问题:
我的应用程序将需要访问SQL Server为用户提供数据,这意味着连接string必须存储在客户端的app.config文件中。
我应该如何处理?
在安装过程中,用户input到该数据库的连接string? 他们如何获得连接string? 在从pipe理员的电子邮件? 如果pipe理员想要使用SQL身份validation,并且需要将用户信息放在连接string中呢?
所以你知道,应用程序将通过互联网出售,所以我没有任何访问pipe理员或networking。
有什么build议么?
先谢谢了。
考虑到连接信息可能会在应用程序的生命周期的任何时候发生变化。 因此,安装时间不是发生这种情况的最佳位置。
最常见的情况是,如果启动时尚未出现,或者连接/login失败(带有相应的错误消息),则需要在启动时提示用户input此信息。 login成功后,将信息存储在registry中或您使用的任何应用程序configuration数据解决scheme中。 如果您认为客户端将使用每用户身份validation,则可能还需要考虑为了安全目的而encryption此数据。
将连接string存储在app.configencryption后,可以使用自己的encryption或.Net中的configuration类具有内置的encryption方法。确保使用除默认机器encryption之外的东西,以便pipe理员可以创buildconfiguration文件并使用在他/她的本地networking上安装。
像马克说,如果有一个有效的连接,如果不提示用户连接方法检查启动。 本地pipe理员可以运行应用程序创buildconfiguration设置,并从那里部署。
罗斯