Winforms 特别文件夹";“通用应用程序数据文件夹”;在我的安装项目中不可用。为什么?

Winforms 特别文件夹";“通用应用程序数据文件夹”;在我的安装项目中不可用。为什么?,winforms,visual-studio-2010,setup-project,special-folders,Winforms,Visual Studio 2010,Setup Project,Special Folders,我想创建一个Visual Studio 2010安装项目,该项目将一些文件部署到一个文件夹中,我的应用程序可以从中使用这些文件。我希望所有用户都拥有相同的文件,并且他们也可以在没有管理员权限的情况下操作这些文件 因此,“公共应用程序数据文件夹”*as似乎很好 但是,在我的Visual Studio 2010安装项目中,在“添加特殊文件夹…”下拉菜单中找不到可用的“通用应用程序数据文件夹”。 我有一个.NET 4.0 WinForms应用程序,没有理由不显示它。 用户的公用应用程序数据文件夹可用,

我想创建一个Visual Studio 2010安装项目,该项目将一些文件部署到一个文件夹中,我的应用程序可以从中使用这些文件。我希望所有用户都拥有相同的文件,并且他们也可以在没有管理员权限的情况下操作这些文件

因此,“公共应用程序数据文件夹”*as似乎很好

但是,在我的Visual Studio 2010安装项目中,在“添加特殊文件夹…”下拉菜单中找不到可用的“通用应用程序数据文件夹”。

我有一个.NET 4.0 WinForms应用程序,没有理由不显示它。 用户的公用应用程序数据文件夹可用,但与我的预期用途不匹配


谢谢你的提示

Visual Studio安装项目没有用于公用应用程序数据的预定义文件夹。但是,您可以按如下方式在其中安装文件:

  • 添加自定义文件夹并选择它
  • 在其属性窗格中,将默认位置设置为:

  • 在此文件夹中,添加要安装在通用应用程序数据中的文件

安装期间将由Windows Installer自动解析。

更具体的解决方案可能是将DefaultLocation属性设置为:

[CommonAppDataFolder][Manufacturer]\[ProductName]

ManufacturerProductName将根据您分配给安装项目相应属性的值进行解析。

标准Windows安装中没有所有用户都可以写入的文件夹。CADF是只读的。您需要自己创建这样一个文件夹。服务器共享是最好的,用户相互覆盖数据从来都不是问题。@HansPassant:“Environment.SpecialFolder.CommonApplicationData”是可写的。我可以通过Environment.GetFolderPath()调用访问它。我在我的应用程序中使用了它,而且效果很好。但是,安装程序应该在那里放置一些初始内容,以便我的应用程序以后使用。
[CommonAppDataFolder][Manufacturer]\[ProductName]