2013-06-19 38 views
1

我注意到當安裝程序啓動時它檢測到以前的安裝並提示我是否需要更新它。無論如何禁止這種行爲?只能安裝到一個空目錄

我有一個應用程序,總是需要安裝到一個乾淨的空目錄。 install4j中是否有任何控件可以執行此操作? 謝謝!

回答

2

要刪除更新警報,請在安裝程序 - >屏幕上找到「歡迎」屏幕&操作步驟並取消選擇「更新安裝警報」屬性。

爲了防止安裝程序建議以前的安裝目錄,請在安裝程序 - >更新選項步驟中取消選擇「檢測以前的安裝目錄」。

爲了防止對現有的安裝(即沒有更新將是可能的)的頂部安裝,「安裝位置」屏幕上的「驗證表達式」屬性設置爲

File dir = context.getInstallationDirectory(); 
if (ApplicationRegistry.getApplicationInfoByDir(dir) != null) { 
    Util.showWarningMessage(
     "The selected directory already contains an installation, "+ 
     "please choose another directory." 
    ); 
    return false; 
} else { 
    return true; 
} 
+0

我只是嘗試這樣做了Linux安裝程序,它看起來像getInstallationDirectory()沒有指向正確的路徑,如果用戶修改安裝路徑,它總是指向安裝程序的默認值。 這意味着如果用戶首先在自定義路徑中安裝產品,然後嘗試在該路徑中重新安裝,則不會顯示任何警告,並且所有內容都將被覆蓋。 –

+0

可能會取消選擇安裝程序 - >更新選項步驟中的「檢測以前的安裝目錄」。 –

+0

是的,它被取消選擇(正如上面的答案中所述);我已經看到它可以與它一起使用,但是這意味着如果用戶有兩次安裝,然後在第一次安裝後執行第三次安裝,它將覆蓋它,因爲getInstallationDirectory指向第二次重新安裝。我問的是,如果可以更新InstallationDirectory變量和用戶在GUI中選擇的內容,而無需將驗證移動到單獨的頁面。 –