2014-03-28 34 views
3

當到已 已經將其與管理員安裝,然後與其他用戶權限的計算機中安裝的應用程序(填充有install4j) 安裝程序將產生導致2或桌面 上的另一個圖標更多應用圖標。Install4j重複快捷上桌面

要重現此:

  1. 安裝應用程序作爲Windows
  2. 登錄到這不是一個管理員的其他用戶帳戶管理員用戶。 (普通用戶帳戶)
  3. 再次安裝應用程序,並且客戶端安裝完成後,會產生桌面上的另一個圖標

我怎樣才能避免這種情況?

回答

2

涉及兩個不同的桌面文件夾,公用和用戶特定的一個。如果選擇「添加桌面鏈接」操作的「爲所有用戶創建」屬性,該操作將嘗試在公用文件夾中創建鏈接,但通常需要管理員權限。如果您沒有管理員權限,則可以檢查公用文件夾中是否存在此類文件。動作的條件表達式可以設置爲如下形式:

if (!Util.hasFullAdminRights()) { 
    File publicLink = new File(WinFileSystem.getSpecialFolder(
     SpecialFolder.DESKTOP, true), "launcher name.lnk"); 
    return !publicLink.exists(); 
} else { 
    return true; 
} 
+0

有趣的東西是當普通用戶安裝應用程序後,管理員決定安裝應用程序。用戶最終還會擁有2個快捷方式,因爲「管理員安裝」不會搜索每個用戶的桌面以獲得快捷方式 - 它只會將其添加到公共桌面文件夾,從而在屏幕上創建新鏈接......但這是另一個故事。 – Alex

+0

這將更難以預防,因爲枚舉用戶並不是真的可能。你可以試探性地處理C:\ Users的所有子目錄,但我不確定我是否真的會推薦它。 –

+0

你是對的,它不會很可靠。 – Alex