我已经用C#创建了Windows服务应用程序,该应用程序使用SQLite数据库文件存储接收到的数据。我希望能够允许用户选择在安装过程中将SQLite数据库文件存储在其PC上的目录。我该怎么办?主应用程序如何获得用户选择的文件路径?
答案 0 :(得分:0)
Visual Studio安装程序(以及大多数其他大多数程序)允许您选择的唯一文件夹是默认为“程序文件”的“应用程序文件夹”。
这真的不值得你去问,因为:
为什么要让用户选择一个文件夹并使设置复杂化,以告知应用程序在哪里?
如果您要允许受限用户运行应用程序,并且用户选择了应用程序无法访问的文件夹,该怎么办?还是使安装失败的位置?
最好选择可以用该应用程序进行彻底测试的最合理的工作位置,如果该应用程序是私有的,那就是AppDataFolder。这是安装项目文件系统视图中的“用户的应用程序数据文件夹”。
https://docs.microsoft.com/en-us/windows/desktop/Msi/appdatafolder
然后,应用程序会自动知道它在哪里,并且一切正常。
VS设置不支持您的要求,其他工具则支持,但是同样,通常,设置仅将文件安装到使该应用正常工作的文件夹中。顺便说一句,自定义操作不会执行此操作,因为所有VS自定义操作都在文件安装后运行。