差異處

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

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:installanywhere:missingvarwhenrunningsilentmode [2016/02/01 16:23]
tony [Problem]
java:installanywhere:missingvarwhenrunningsilentmode [2023/06/25 09:48] (目前版本)
行 6: 行 6:
 以我的例子而言,AGENT_PORT_LIST是一個LIST變數。在經過某個步驟後,使用者所輸入的三個值會被assign到此變數中,而Set Variable的動作會將三個值分別assign到三個變數中。而在silent mode中,AGENT_PORT_LIST是沒被初始化的。根據測試結果,2008會略過這無效的assignment,而2015會將變數變為空白。 以我的例子而言,AGENT_PORT_LIST是一個LIST變數。在經過某個步驟後,使用者所輸入的三個值會被assign到此變數中,而Set Variable的動作會將三個值分別assign到三個變數中。而在silent mode中,AGENT_PORT_LIST是沒被初始化的。根據測試結果,2008會略過這無效的assignment,而2015會將變數變為空白。
 ===== How to resolve? ===== ===== How to resolve? =====
- +這問題我想到幾個解法:​ 
 +  - 先確認LIST變數是否存在,存在才做assignment。 
 +  - silent mode略過這些動作。 
 +由於我們一開始就已經把UI動作分成GUI與console的group,又要避免發生我們沒預期到的問題。所以我選擇在silent mode時,略過GUI與console的group:​\\
 {{:​java:​installanywhere:​ia_silent_mode_checking.png|}} {{:​java:​installanywhere:​ia_silent_mode_checking.png|}}
 +===== 後記 =====
 +後來某個Installer突然發生某些檔案消失的情形,這是在修改這bug後所導致的。後來經過同事trace,差別在於有問題的Installer,有打勾Build Configurations>​Distribution>​Optimized的項目:​\\
 +{{:​java:​installanywhere:​ia_build_optimize.png|}}\\
 +這是為了在build installer時,各自平台的Installer只會包自己所需要的東西。然而在build的時候,可能是相當於silent mode情形,是什麼樣的字串我們沒有深究。最後是根據user guide建議,將判斷改成不等於SILENT。\\
 +{{:​java:​installanywhere:​ia_silent_mode_checking2.png|}}
 ===== Reference ===== ===== 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]]   * [[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]]