Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从VS 2010部署安装项目安装到Windows 7中的公用目录_C#_.net_Visual Studio 2008 - Fatal编程技术网

C# 如何从VS 2010部署安装项目安装到Windows 7中的公用目录

C# 如何从VS 2010部署安装项目安装到Windows 7中的公用目录,c#,.net,visual-studio-2008,C#,.net,Visual Studio 2008,我有一些文档要安装到Windows 7系统上(使用安装项目),每个人都可以访问。这些文件不应被隐藏。所有用户都可以双击它们。我认为最好的地方是C:\Users\Public或C:\Users\Public\Documents 由于在安装项目中,这两个文件夹都没有专用文件夹,因此到目前为止,我找到的唯一方法是创建一个自定义文件夹,并将DefaultLocation设置为[%public][Manufacturer][ProductName]等 (见附件) 然而,这似乎很脆弱;如果有人删除了publ

我有一些文档要安装到Windows 7系统上(使用安装项目),每个人都可以访问。这些文件不应被隐藏。所有用户都可以双击它们。我认为最好的地方是C:\Users\Public或C:\Users\Public\Documents

由于在安装项目中,这两个文件夹都没有专用文件夹,因此到目前为止,我找到的唯一方法是创建一个自定义文件夹,并将DefaultLocation设置为[%public][Manufacturer][ProductName]等

(见附件)


然而,这似乎很脆弱;如果有人删除了public的环境变量呢?另外,这是否适用于不同语言版本的Windows7?有没有更好的方法为Windows 7安装将DefaultLocation定义到公用文件夹中?

公用文件夹没有存储在标准环境变量(系统->高级->环境变量)中,因此我认为不太可能有太多人这样做,但我理解创建一个健壮的安装程序的必要性


其中包含有关更改公用文件夹位置的说明。公认的解决方案非常复杂,需要命令行工作。Luviana的建议要简单得多。我会测试它们,看看它们是否打破了%public%的快捷方式。我猜他们不会。我最好的建议是自己检查一下,如果它仍然有效,那么您可以相信%public%将可用。

要完全回答您的问题,不同语言的环境变量将是相同的。所以%public%将起作用。但是,如果您要查找一个子文件夹,则可能会有所不同。例如,%public%/音乐可能有不同语言的音乐文件夹。我想不出比系统变量%public%更强大的指定public的方法了。谢谢mrtsherman,我想这也适用于以编程方式引用公用文件夹,例如:Directory=system.Environment.GetEnvironmentVariable(“public”)+“MyCompanyName”等。public直到Vista才可用。SHGetKnownFolderPath来检索它。如果您需要支持XP,那么请考虑只创建自己的文件夹。相关的: