2012-05-08 96 views
2

我需要安裝一個應用程序,該應用程序將爲任何登錄Windows安裝配置文件的用戶運行一次。我不需要它爲新用戶運行。我正在使用Visual Studio 2010安裝項目創建一個MSI,如果MSI註冊表的東西不夠靈活,我很高興在C#中使用自定義操作來擺弄註冊表。從Visual Studio安裝項目中爲每個用戶添加註冊表項HKEY_LOCAL_MACHINE

我知道如何將一個註冊表值添加到HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \的RunOnce與MSI,但將只啓動運行該安裝程序的用戶應用程序。我可以將值添加到HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce,但它只會在用戶下次登錄時運行,而不是每個用戶都運行。所以,首先它是可能的(用VS Setup Project或C#),如果是這樣,怎麼樣?

謝謝。

+1

這將很難實現。當它檢測到登錄用戶從未運行過您的軟件時,爲什麼不讓您的應用程序運行此任務? –

+0

是的,這是我的備份計劃,但它仍然需要應用程序加載並運行,以檢查每次有人登錄時是否需要執行任何操作。我只是認爲我會首先檢查它是否絕對必要。 – AndrewS

+1

我已經刪除了我的答案,你是對的,'HKEY_USERS'只顯示當前登錄的用戶。 – Stijn

回答

2

我認爲智能安裝程序是你所需要的:http://www.sepago.de/helge/2010/04/22/active-setup-explained/

通常標榜的快捷鍵來觸發每個用戶的行爲在安裝包後,但這並不與你的情況適合。

+0

看起來不錯,謝謝。在Windows的「歡迎」屏幕上有相當的延遲,而主動安裝程序完成它的事情,但作爲一次性過程沒有問題。我猜測有沒有簡單的方法來清理在HKCU創建的GUID ...卸載安裝的組件,但我可以忍受。我不確定'廣告快捷方式'是什麼意思;你的意思是正常的桌面圖標等? – AndrewS

+1

在微軟網站上找不到很多信息,所以我要指出你有關廣告快捷方式的另一個來源。正如您所懷疑的那樣,這些基本上都是標準快捷方式,但如果操作系統認爲需要,它們可以自動啓動應用程序的自我修復過程。 http://www.advancedinstaller.com/user-guide/advertised-shortcuts.html –

+0

很酷,感謝您的鏈接。不知道我會在哪裏使用,但很高興知道。 – AndrewS

相關問題