2015年10月13日 星期二

[EEP]發佈WinForm

開發工具:VS2012 Ultimate 2012
EEP版本:EEP2012 - SP5

修訂紀錄:

  • 2015-11-2 「後續更新」的部分補上Client Package;附上「Microsoft.VisualBasic.PowerPacks.Vs」的Microsof下載t網址

第一次發佈WinForm

【開發端】

開啟專案後,編輯「EEPNetClient」的「APP.config」進行設定
  ●如果開發端 = A/P server端


     <client>
        <wellknown type="Srvtools.LoginService, Srvtools" url="http://127.0.0.1:8989/Srvtools.rem"/>
   <wellknown type="Srvtools.ListenerService, Srvtools" url="http://127.0.0.1:8000/Srvtools.rem"/>
      </client>

  ●如果A/P server端在遠處,就修改「(ip address)」的部分 (可使用內網IP、固定IP等)
      <client>
        <wellknown type="Srvtools.LoginService, Srvtools" url="http://(ip address):8989/Srvtools.rem"/>
   <wellknown type="Srvtools.ListenerService, Srvtools" url="http://(ip address):8000/Srvtools.rem"/>
      </client>

右鍵「EEPNetClient」的專案→「屬性 (Alt+Enter)」→「發行 / Publish」
  指定要發行此應用程式的位置:用「瀏覽」來選擇位址
  設定「發行位置 / Publish Location 」的位址,可指定資料夾或用IIS (訪問權限:讀取,   應用程序權限:腳本)
  進入「應用程式檔案 / Application Files...」
    確認這五個檔案「EnvDTE.dll, EnvDTE80.dll, InfoRemoteModule.dll, Srvtools.dll, stdole.dll
     ├發行狀態 / Plublish Status:包含 / Inclued
     └下載群組 / Download Groups:必要項 / Required
  進入「必要條件 / Prerequisites...」
    至少將下列勾選元件勾選
     └Microsoft .NET Framework 4 Clinet Profile (x86 和 x64) 以及適用於 .NET Framework 4 的更新 (KB2468871)
    如果有使用到報表 / Report,請示需求勾選(RDLC 或 Crystal Report)
     ├Microsoft Report Viewer 2012 Runtime
     └SAP Crystal Report Runtime for 4.0 ※如找不到,則下載RunTime, CRforVS_redist_install_x64_x86_130.5,於使用者端安裝)
    設定「指定必要條件的安裝位置 / Specify the install location for prerequisites」

     └從應用程式的相同位置下載必要條件 / Download prerequisites from the same location as my application
      ※由於目前開發安裝來源皆為相同版本的A/P Server, 如果需安裝插件與A/P Server不同時,才需要選第3項進行指定    
  進入「更新 / Updates...」
    如果不希望使用者每次改版都重新安裝,就需要將「應用程式應該檢查更新檔 / The application should check for updates」勾選
    其餘設定可參考圖片
  進入「選線 / Option...」
    


利用「發行精靈 / Publish Wizard」來發行(必須先設定完「應用程式檔案」與「必要條件」),可依更新需求選擇不同的方法
不具有更新功能
  1. 您要將應用程式發行至何處? 「瀏覽」要存放的位置
  2. (下一步)
  3. 使用者要如何安裝應用程式? 「從CD-ROM 或 DVD-ROM」
  4. (下一步)
  5. 應用程式會在哪裡檢查更新檔? 「應用程式將不會檢查更新檔」
  6. (下一步)
  7. 已完成發行的準備工作
  8. (完成)
需要更新功能
  1. 您要將應用程式發行至何處? 「瀏覽」要存放的位置
  2. (下一步)
  3. 使用者要如何安裝應用程式? 「From a Web site」→用「瀏覽」去指定資料夾
  4. (下一步)
  5. 是否可以在離線時使用應用程式?是,這個應用程式可於線上或離線時使用 (ry)
  6. (下一步)
  7. 已完成發行的準備工作
  8. (完成)
※發行完,就可以將APP.config的設定換回開發端的IP,否則在內測時會連到A/P端

【A/P端】

有使用連線更新時,還須設定IIS。不過此處只針對EEP的部分
※EEP的DLL有更新(通常是Srvtools)或初次安裝時,才需要執行此步驟  

開發端同版本的EEP中,複製「EEPNetClient」「EEPNetServer」InitEEP」這3個資料夾於至A/P端(例如「E:\EEP2012」)
  以系統管理員身分執行「InitEEP.exe」
設定資料夾路徑後,點下「Apply」保存,再點「Install GAC」
    Server Directory: EEPNetServer的path
    Client Directory: EEPNetClient的path
    WebClient Directory: (只有WinForm時,可以不用設定)
  系統管理員身分執行「EEPNetServer.exe」
    「System」→「DB Manager」→在Dialog「Database Manager」中「新增 / Add」或「修改 / Modify」DB連線字串
      DataBase Name: 
      DataBase String: ex1 - 「User Id=userTest1; database=DBTest1; server=999,999,9,999; Connect Timeout=60
               ex2 - 「User Id=userTest2; database=DBTest2; server=.;Connect Timeout=60;Trusted_Connection=True
        [選項]Use Encrypt String: 加密連線字串, 建議勾選以提高安全性
      DataBase Type: MsSql
      Max Count: 20 
      Time Out: (隨連線字串改變)
        [選項]:Split System Table: 如果多個DB有共用EEP帳號時,請將此處打勾。各自獨立時不勾選
      Password: xxxxxxxxxxxxxxxxx
    設定完後,點「OK」,再點「Test Connection」確認連線。正常會顯示「Connect to database successfully
    如果無勾選Split System Table,而資料庫又是新建的需要設定範例時,點「Create System Table」→「Typical create」

    「System DataBase」的Tab,是設定以哪個DB做為Split System Table的依據。有勾選Split System Table的DB連線,其帳密驗證會以此處指定的DB為主。

掛載 / 更新 要使用的DLL
  【直接貼上檔案】將Server的DLL檔案放在「E:\EEP2012\EEPNetServer\專案名
    回到EEPNetServer主畫面,「System」→「Package Manager
    如果是新專案:Package的空白處右鍵「Add Folder」→選擇資料夾→確定
    舊有專案追加:點選既有的Package→下方按鈕「Add...」→選擇檔案→確定「Save」
      如果有勾選「Load in memory」,添加後需再點「Unload」和「Save」



帳戶與群組的權限設定
  如DB中已存在,可直接進行套用,不須再行設定
  詳細設定的部分請參閱「EEPManager」頁面 (暫無)

【使用者端】

第一次安裝
  執行「setup」→下一步到底
執行
  雙擊「EEPNetClient.application」

可能會碰到的問題
  安裝時
    - 顯示「程式已存在」或「安裝位置不符」:用控制台的「新增/移除程式」將EEP Client刪除
  執行時
    - 顯示「無法找到插件 (ry)」:將該組建的名稱與版本紀錄記錄下來,於Microsoft中取得並安裝

後續更新WinForm

(一般而言, 沒改動EEP控制項的DLL時(如Srvtools), Client的調整不須重新安裝
反之在無檢查更新的設定下, 使用者需再次Setup NetClient)

【開發端】 -- 有對EEPNetClient做修改才需要 (通常是有變更A/P端位址或EEP改版)
對「方案總管」中的「EEPNetClient」→右鍵「發行」
※如果大更動(如路徑改變, 追加必要插件),才需要到「屬性」中進行設定

【A/P端】-- 最常用到,特別是Client DLL的更新

可以直接覆蓋DLL, 但建議依照下列的方法
在開發端系統管理員身分執行「EEPManager.exe」
  「System」→「Package Manager」→選擇「Server Package」→將右側的DLL拖曳至左側進行更新

  「System」→「Package Manager」→選擇「Client Package」→將右側的DLL拖曳至左側進行更新

【使用者端】 -- EEPNetClient有變更才需要

不自動更新
  每次有更新時,需將Application Files資料夾中的檔案補齊,再執行「EEPNetCLient.application」

會自動更新
  直接執行「EEPNetCLient.application」,會自動檢查

沒有留言:

張貼留言