【问题标题】:Special Folder "Common Application Data Folder" not available in my setup project. Why?特殊文件夹“通用应用程序数据文件夹”在我的安装项目中不可用。为什么?
【发布时间】:2012-03-02 09:50:20
【问题描述】:

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

因此,described in this MSDN article 的“通用应用程序数据文件夹”* 似乎没问题。

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

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

感谢任何提示!

【问题讨论】:

  • 标准 Windows 安装中没有可供所有用户写入的文件夹。 CADF 是只读的。您需要自己创建这样的文件夹。服务器共享是最好的,用户覆盖彼此的数据永远不是问题。
  • @HansPassant:“Environment.SpecialFolder.CommonApplicationData”是可写的。我可以通过 Environment.GetFolderPath() 调用来访问它。我在我的应用程序中使用它,并且效果很好。但是,安装程序应该将一些初始内容放在那里以供我的应用以后使用。

标签: winforms visual-studio-2010 setup-project special-folders


【解决方案1】:

Visual Studio 安装项目没有用于常见应用程序数据的预定义文件夹。但是,您可以像这样在其中安装文件:

  • 添加自定义文件夹并选择它
  • 在其“属性”窗格中将 DefaultLocation 设置为:

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

在安装过程中CommonAppDataFolder 将由 Windows Installer 自动解析。

【讨论】:

    【解决方案2】:

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

    [CommonAppDataFolder][Manufacturer]\[ProductName]
    

    ManufacturerProductName 将从您分配给安装项目的相应属性的值中解析。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-10-22
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多