我的应用程序将数据存储在无法在我的MSI中创建正确的文件夹结构
C:\Documents and Settings\All Users\Application Data\Company\Product\foo
但是如果我在代码中使用 Application.CommonAppDataPath,它会在路径的末尾附加汇编版本。例如
C:\Documents and Settings\All Users\Application Data\Company\Product\foo\1.0.2.0
这意味着我的应用程序无法找到我期待的数据。我可以操纵我的代码来剥离最后一个文件夹,但我真正想做的是让我的MSI创建适当的程序集版本文件夹。
我试过了;
[CommonAppDataFolder][Manufacturer]\[ProductName]\[Version]\
[CommonAppDataFolder][Manufacturer]\[ProductName]\[ProductVersion]\
但是它们都没有给我正确的结构。 (实际上,一个不创建文件夹,另一个基于MSI版本创建一个文件夹)。
那么有没有办法通过msi创建相应的文件夹,或者我是否需要求助于解析AppDataPath,或让我的应用程序创建版本文件夹及其所需的支持结构?
不要安装用户数据,通过应用程序创建它。这样,它总是与MSI在安装,卸载,修补等方面的干扰分离开来的。您可以使用MSI文件中的CreateFolder条目创建基础文件夹,但数据本身不应该被安装 - 它只会导致麻烦。 –
创建应用程序数据文件夹的常用方法实际上是将其从程序文件中的模板复制并按用户启动。这可能会导致需要调整设置,并且可以按照以下这些方式实现:http://forum.installsite.net/index.php?showtopic=21552 –