2014-04-21 177 views
-1

我需要爲我的abc項目(用C++編寫)創建setup.exe。 運行setup.exe之前,我需要創建並將環境變量設置爲某個值。 是否可以在安裝程序中添加「創建和設置環境變量值」 的自定義操作,如果是,那麼該如何操作。我使用VS 2012和Installshield是否有可能在setup.exe運行時創建環境變量

感謝

+0

您需要創建一個永久* system *環境變量?還是當前進程的環境變量(由所有子進程繼承)? –

+0

@Cody Gray - 請您詳細說明一下這個或任何鏈接將會非常有用 – sia

+0

@ user3382670您被要求詳細說明,而不是相反! –

回答

1

你不說明你的根的問題,但我可以在環境變量的比賽條件我已經在過去給你的建議。通常我會讓我的安裝程序使用標準技術(Windows安裝程序環境表,它更新註冊表並更新設置),然後如果在安裝程序中仍然存在運行自定義代碼的爭用條件,我將使用自定義操作設置環境爲過程解決問題。通過這種方式永久更改正確完成,並注入臨時更改以使自定義操作變得快樂。

兩種最常見的競爭條件是:

1)通過Windows服務沒有得到設置更改消息由於服務控制管理器的行爲

2)託管的一個子進程的變化掛起重新啓動會導致MSI不發送設置更改消息。在這種情況下,也可以編寫一個自定義操作,該操作不會在標準操作完成後發送消息。

相關問題