5

当我搜索时,Windows 分区中有一个名为“ProgramData”的文件夹,其中包含应用程序在运行时使用的应用程序数据。由于此文件夹不需要管理员权限并且在系统用户之间很常见,因此它是放置运行时文件的最佳位置。在 C#.Net 中,我通过以下代码到达此文件夹地址:

Application.CommonAppDataPath

问题是当我通过 Visual Studio 安装项目创建 Windows 安装程序(msi 文件)时,我找不到将数据放入其中的正确文件夹。我想知道如何将此文件夹添加到我的安装项目中。

问候。

4

2 回答 2

5

以下是添加它的方法:

  1. 转到项目中的“文件系统”视图,然后右键单击“目标机器上的文件系统”
  2. 在“添加特殊文件夹”下选择“自定义文件夹”并为其命名
  3. 现在右键单击该文件夹并选择“属性窗口”
  4. 将“DefaultLocation”属性设置为:“[CommonAppDataFolder]”
  5. 现在您可以在这个新文件夹下添加您想要的任何子文件夹,并将所需的文件放在那里,您的文件应该安装在所需的路径中。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa367992(v=vs.85).aspx

于 2012-09-28T06:10:19.647 回答
0

由于许可的内容,我发现我的问题对于我的目的是错误的。我找到的解决方案写stackoverflow.com 中,我在我的应用程序中通过以下代码将其混合以获取公共文档的地址。

private static string getAddress()
    {
        RegistryKey rk = Registry.LocalMachine;
        RegistryKey sk = rk.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\explorer\\Shell Folders");
        string address = "";
        if (sk != null)
        {
            address = (string)sk.GetValue("Common Documents", @"c:\Users\Public\Documents");
        }
        return address;
    }

让我们概述一下我所说的和所做的,首先我发现我想要的是错误的,ApplicationData 文件夹仅供其创建者访问,而我想要一个在所有用户之间共享的文件夹。所以我找到了这个链接并按照它,在我的安装程序项目中的 FileSystem Explorer 中创建我想要的文件夹。然后我更改了我的 C# 代码并让它从注册表中读取地址。

于 2012-09-28T06:42:23.370 回答