2013-12-12 191 views
1

我在Visual Studio 2012,Framework 4.5中完成了一個WinForm應用程序。我使用InstallShield進行了安裝項目。我需要在可能沒有安裝Framework 4.5的PC上安裝此應用程序,因此我將Framework 4.5作爲PreRequisite添加。到現在爲止還挺好。 我想要的是自動安裝PreRequisite,而不需要我的客戶端運行安裝程序。 這可能嗎? 謝謝InstallShield運行安裝程序並安裝先決條件而不要求

回答

0

InstallShield不支持此功能。最接近的是強制要求先決條件。另一種可能性是將PRQ與某個功能相關聯,以使其成爲「功能先決條件」而不是「設置先決條件」。這將導致Setup.exe直接進入你的MSI,然後延遲安裝,直到用戶訪問後。

+0

難道你不能讓.net45的PRQ隱藏,並在PRQ中傳遞「/ q/norestart」?然後它會在主安裝程序啓動之前安裝。 – NGaida

+0

我可以運行setup.exe/s,但需要客戶輸入它。我認爲他們只想雙擊EXE。 –

+0

我想我讀他的問題是:我希望用戶在運行我的設置時自動獲取.net 45。因此,如果他編輯他正在使用的PRQ來安裝.net45以始終傳遞「/ q/norestart」(顯然它已正確檢測到.net45已存在),那麼無論用戶安裝他的產品(通過自然運行)在安裝程序運行之前,他們會得到.net45。因此沒有問他們是否需要它。 – NGaida

1

編輯您的PRQ,始終安裝.net45,無需輸入。這是我們在本地使用的.net40 PRQ。

enter image description here

/被動有它顯示一個進度條,但你可以很容易做的/ Q(無UI的話)。唯一的問題是你的安裝很長的啓動延遲,用戶可能會解釋爲「有問題」,所以我建議保持/被動。

+0

添加到:用戶將不得不運行setup.exe才能獲得此行爲;只讓他們運行msi本身不會調用PRQ。雖然如果你建立一個「單一文件」類型的設置,這將是一個沒有問題。 – NGaida

相關問題