2010-08-12 40 views
1

我有一個安裝項目,我正在使用它並向用戶界面添加了一條EULA。我需要通過運行安裝程序來支持無人蔘與(命令行)安裝以及GUI安裝。 EULA在GUI安裝中強制執行,但不在無人執行中執行。無人蔘與(命令行)安裝實施EULA驗收

目前我運行命令行安裝在傳入定製操作中使用的參數的格式如下:

MSIEXEC/I ProjectSetup.msi/QN /升* log.txt的參數1 =「foo」的參數2 =酒吧

最壞的情況,我想我可能需要一個額外的參數「ACCEPTEULA」和炸彈進行的安裝,如果當我們正在做一個命令行安裝它沒有找到。任何人都可以提供的指導非常感謝。

回答

2

每個人都應該認識到,參數1參數2和ACCEPTEULA水溼地傳遞給MSI。只有像ACCEPTEULA這樣的公共屬性(全部是大寫)才能通過。

MSI可以很容易地通過使用LaunchCondition做到這一點作爲關一ACCEPTEULA自定義屬性這樣的鍵和內置屬性UILevel。我們的目標是隻允許安裝如果UILevel = 5或ACCEPTEULA = 1或如果產品是(已經)安裝

條件:

UILevel = 5或ACCEPTEULA或安裝

您必須接受EULA安裝[ProductName]。

的公共屬性: http://msdn.microsoft.com/en-us/library/aa370912(VS.85).aspx

啓動條件: http://msdn.microsoft.com/en-us/library/aa369752(VS.85).aspx

UILevel: http://msdn.microsoft.com/en-us/library/aa372096(VS.85).aspx

+0

這真棒,謝謝克里斯託弗!對於所有用戶和命令行中的單個用戶的任何建議? – 2010-08-25 19:18:35

+0

我將ALLUSERS = 1烘烤到我的安裝中,並取消了所有用戶和每個用戶的選擇。爲每個用戶安裝服務在後面很痛苦,價值很小。你可以在命令行中傳遞ALLUSERS = 1。 – 2010-08-25 19:38:52

2

在GUI啓動時首次運行時顯示EULA。例如。就像各種sysinternals工具一樣(FileMon,RegMon等)。好的想法是它可以與xcopy部署配合使用。

+0

我的理解是,沒有GUI/GUI適用於安裝過程,而不是應用程序。無人蔘與安裝(非GUI)安裝GUI應用程序。 – 2010-08-12 16:55:57

+0

問題中沒有說應用程序沒有GUI。這是一個完全合理的解決方案。 如果應用程序沒有GUI,那麼它在第一次啓動時仍然可以在命令行上顯示同意和拒絕選項。 – 2010-08-12 16:56:02

+0

應用程序的確有一個GUI,所以我同意這是一個完全合理的迴應。 – 2010-08-12 17:21:24

0

我通常認爲點擊「接受」,是沒有任何更多法律上不是簡單地使用該軟件的結合。在某些轄區,接受EULA是爲用戶提供安裝/運行軟件的權利。

否則,我只是調整了安裝程序,以便它永遠不會呈現EULA的,所以我不會受其約束。

+0

你可能不受他們的約束,但是你可能通過修改某些司法轄區內的MSI來違反一些版權和知識產權法......我不確定哪一個法律上更糟糕。 :-) – 2010-08-12 17:54:07

+0

雖然我不需要調整MSI。我可以調整運行MSI的東西,所以它永遠不會呈現EULA。在法律上,這仍然是有問題的。 – 2010-08-13 12:02:35

+0

MSI是一個開放標準,故意設計爲可變形。 – 2010-08-14 14:35:26