2010-12-17 214 views
2

我想將一些文檔安裝(使用安裝項目)到每個人都可以訪問的Windows 7系統上。這些文件不應該被隱藏。它們應該對所有用戶都可見,以便雙擊。我相信最好的地方是C:\ Users \ Public或C:\ Users \ Public \ Documents。如何從VS 2010部署安裝項目安裝到Windows 7中的公共目錄安裝項目

由於安裝項目中沒有這些文件夾的特殊文件夾,我迄今爲止發現的唯一方法是創建一個自定義文件夾並將DefaultLocation設置爲[%public] [Manufacturer] [ProductName ]等

(見http://community.flexerasoftware.com/archive/index.php?t-164246.html

然而,這似乎很脆;如果某人刪除公共環境變量會怎麼樣?此外,這將工作在不同的Windows 7語言版本上?有沒有更好的方法來將DefaultLocation定義爲Windows 7安裝的公用文件夾?

+0

公衆直到Vista才能上市。 SHGetKnownFolderPath來檢索它。如果您需要支持XP,那麼請考慮創建自己的文件夾。相關:http://stackoverflow.com/questions/3795023/downloads-folder-not-special-enough – 2010-12-17 17:37:46

回答

1

公用文件夾不存儲在一個標準的環境變量(系統 - >高級 - >環境變量),所以我認爲這是不太可能的人太多了,但我理解需要創建一個強大的安裝程序。

page有關於更改公用文件夾的位置的說明。接受的解決方案非常複雜,需要命令行工作。盧維亞納的建議要簡單得多。我會測試它們,看看它們是否打破%public%捷徑。我的猜測是他們不會。我最好的建議是自己檢查一下,如果它仍然有效,那麼你可以指望%public%將可用。

+0

要完全回答你的問題 - 環境變量將是相同的跨語言。所以%public%會起作用。但是,如果您在子文件夾之後,則可能會有所不同。例如,%public%/音樂可能會使用不同語言的音樂文件夾。我想不出更強大的方式來指定公共比系統變量%public% – mrtsherman 2010-12-17 16:41:40

+0

謝謝mrtsherman,我想這也適用於以編程方式引用公用文件夾時,例如:Directory = System.Environment.GetEnvironmentVariable(「public」)+「 MyCompanyName「等? – Jeb 2011-01-06 10:35:32