在搜索时,Windows分区中有一个名为“ProgramData”的文件夹,其中包含应用程序在运行时使用的应用程序数据。由于此文件夹不需要管理员权限,并且在系统用户之间很常见,因此它是放置运行时文件的最佳位置。在C#.Net中,我通过以下代码到达此文件夹地址:
Application.CommonAppDataPath
问题是,当我通过Visual Studio安装项目创建Windows安装程序(msi文件)时,找不到将数据放入其中的正确文件夹。 我想知道如何将此文件夹添加到我的安装项目中。
问候。
答案 0 :(得分:5)
以下是添加方式:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa367992(v=vs.85).aspx
答案 1 :(得分:1)
我发现我的问题因为许可而对我的目的不对。我找到的解决方案是在stackoverflow.com中编写here,我在应用程序中将以下代码混合起来以获取公共文档的地址。
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文件夹只是为了它的创建者而可访问,而我想要一个在所有用户之间共享的文件夹。所以我找到了这个link并跟着它,在我的安装程序项目中的FileSystem Explorer中创建了我想要的文件夹。 然后我更改了我的C#代码并使其从注册表中读取地址。