差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

java:installanywhere:missingvarwhenrunningsilentmode [2016/02/03 15:41]
tony
java:installanywhere:missingvarwhenrunningsilentmode [2023/06/25 09:48]
行 1: 行 1:
-{{tag>​InstallAnywhere java}} 
-====== 某些變數在執行Silent模式遺失了 ====== 
-===== Problem ===== 
-在我們的測試案例中,有透過silent mode餵參數方式給Installer。但在更新到2015後,發現某些參數並沒有到達預期的效果。經過trace,問題是發生在LIST變數的assignment上:​\\ 
-{{:​java:​installanywhere:​ia_adddebug_set_multiple_var.png|}}\\ 
-以我的例子而言,AGENT_PORT_LIST是一個LIST變數。在經過某個步驟後,使用者所輸入的三個值會被assign到此變數中,而Set Variable的動作會將三個值分別assign到三個變數中。而在silent mode中,AGENT_PORT_LIST是沒被初始化的。根據測試結果,2008會略過這無效的assignment,而2015會將變數變為空白。 
-===== How to resolve? ===== 
-這問題我想到幾個解法:​ 
-  - 先確認LIST變數是否存在,存在才做assignment。 
-  - silent mode略過這些動作。 
-由於我們一開始就已經把UI動作分成GUI與console的group,又要避免發生我們沒預期到的問題。所以我選擇在silent mode時,略過GUI與console的group:​\\ 
-{{:​java:​installanywhere:​ia_silent_mode_checking.png|}} 
-===== 後記 ===== 
-後來某個Installer突然發生某些檔案消失的情形,這是在修改這bug後所導致的。後來經過同事trace,差別在於有問題的Installer,有打勾Build Configurations>​Distribution>​Optimized的項目:​\\ 
-{{:​java:​installanywhere:​ia_build_optimize.png|}}\\ 
-這是為了在build installer時,各自平台的Installer只會包自己所需要的東西。 
-===== Reference ===== 
-  * [[http://​helpnet.flexerasoftware.com/​installanywhere2015/​Default_Left.htm#​CSHID=helplibrary%2Fia_eval_variables.htm|StartTopic=Content%2Fhelplibrary%2Fia_eval_variables.htm|SkinName=TechPubsSkinHelpNet|About Response Files and Silent Installers]] 
  
-=====    ===== 
----- 
-\\ 
-~~DISQUS~~