# NewPosInstaller 설명서 

1. 배포 및 설치프로그램 실행 방법
    1) AS-IS POS 시스템의 배포 프로세스를 통해 배포하고, 특정 시점에 설치 프로그램을 실행 한다. 
    2) 설치프로그램 최초 배포파일 
        -. NewPosInstaller.exe              : 신규포스 설치프로그램
        -. NewPosInstaller.ini              : 신규포스 설치프로그램 설정 파일 
        -. Newtonsoft.Json.dll              : 서버통신(IRT)을 위한 Json Helper Libray
        -. SPCTouchTxt.exe                  : AS-IS POS 시스템 운영데이터 이행을 위해 진코퍼레이션에서 제공한 데이터 추출 프로그램 
                                              (터치키, 플레이버, 층/테이블 및 기타코드 마스터를 텍스트 파일로 추출)
    3) 설치프로그램 업데이트 
        -. NewPosInstaller.zip              : 업데이트 파일 (NewPosInstaller.exe, NewPosInstallerStart.exe) 포함 
        -. NewPosInstaller.ver              : 업데이트 버전 파일 
        ※ 설치프로그램 버전은 파일버전 1.0.0.0 형식으로 관리 한다. 

2. 설치프로그램 설정 파일 (NewPosInstaller.ini)
    ※ 항목의 데이터가 없으면, 기본값으로 운영됨. 
        [INSTALL]
        InstallDir=                         : 신규포스 설치 디렉토리 기본값 => C:\SPC\POS

        [DATABASE]
        InstanceName=                       : MSSQL Instance Name 기본값 => MSSQL$SPCPOS
        DataSource=                         : 기본값 => ./SPCPOS
        Password=                           : 기본값 => @spcPOS!123
        UserId=                             : 기본값 => sa

        [PCKR]                              : 회사코드, 법인별 정보설정 PCKR, BRKR, SLKR ... 
        FtpIP=10.0.40.98                    : 설치관련 FTP 정보 기본값 => 없음, 필수입력
        FtpUser=spcpos                      : FTP 계정          기본값 => 없음, 필수입력
        FtpPass=                            : FTP 암호          기본값 => 없음, 필수입력
        FtpPath=/CMBO/POS_SETUP             : FTP 경로          기본값 => 없음, 필수입력
        SvrIP=10.0.40.98                    : 법인별 통신서버 IP 기본값 => 없음, 필수입력 => 이행시 신규포스 통신서버와 동일하게 사용됨
        SvrPort=9019                        : 법인별 통신서버 Port 기본값 => 없음, 필수입력
        FontName=                           : 신규포스 프로그램 화면 폰트, 기본값 => 한국은 나눔스퀘어 해외는 필수 입력
        FontFixName=                        : 신규포스 프로그램 고정 폰트, 기본값 => 한국은 굴림체     해외는 필수 입력
        Country=                            : 신규포스 프로그램 언어 코드, 기본값 => 한국은 ko-KR     해외는 필수 입력
        CultureID=                          : 신규포스 프로그램 문화 코드, 기본값 => 한국은 MC002     해외는 필수 입력

3. 설치프로그램 진행 순서
    1) 신규포스 실행여부 확인 
        -. 신규포스 프로그램(PosMain.exe, PosStart.exe)이 실행되고 있으면, 설치프로그램 종료 한다. 
    2) 포스 기본정보 및 설치일정 확인 
        -. 작업디렉토리 생성 (C:\SPC_NewPosInstall)
        -. AS-IS 포스 시스템의 설정파일(ini)을 분석 기본정보 취득 한다.
        -. 통신서버를 통해 해당 점포의 설치일정 (일자,시간) 조회 한다. 
        -. 기본정보 및 설치일정 정보 조회에 실패하면 설치프로그램 종료 한다.
    3) 설치프로그램 업데이트 
        -. FTP 서버에서 NewPosInstaller.ver 파일을 다운받아 현재 설치프로그램의 파일버전(Application.ProductVersion)과
           비교하여 다르면, NewPosInstaller.zip 파일을 다운받아 설치프로그램을 업데이트 한다. 
    4) 설치일정 확인 
        -. 시스템일자와 설치일자를 비교 설치일자가 내일 이후 인경우 설치프로그램을 종료한다. 
        -. 설치일자가 당일 이거나 지난경우 설치시간 까지 대기 후 진행 한다.
    5) 신규 포스 프로그램 다운로드 
        -. FTP를 통해 신규포스 프로그램을 다운로드 받아 설치디렉토리에 복사 한다. 
        -. 다운로드 파일 : SPC.zip
    6) 데이터베이스 및 테이블 생성 
        -. MSSQL 2005 Express 인스턴스 서비스 실행 및 데이터베이스 접속 여부를 확인한다. 
        -. 데이터베이스 및 테이블을 생성한다. 
        -. 테이블 생성은 다운로드 받은 신규포스 프로그램의 BIN폴더에 있는 테이블 스크립터 파일을 이용한다. 
            CreateMST.sql
            CreateLOG.sql
            AlterMST.sql
            AlterLOG.sql
    7) AS-IS 포스 시스템에서 환경설정 및 장치정보, 운영정보를 이행 한다. 
        -. PosConfig.INI 정보 이행 
        -. PosDevice.INI 정보 이행 
        -. PosSale.INI   정보 이행  -> 시스템오픈일자 설정 
        -. 주방프린터 정보 이행 및 서버전송 
        -. 터치키 마스터 정보 이행 및 서버전송         => 대상매장 : BR/DD
        -. 플레이버 마스터 정보 이행 및 서버전송       => 대상매장 : BR
        -. 층/테이블 마스터 정보 이행 및 서버백업      => 대상매장 : PC/SL  후불, 메인포스 
        -. 기타코드 정보 이행 및 로컬저장              => 대상매장 : 전점 
            (반품사유코드, 메모상용구)
        -. 테이블예약정보 이행 및 로컬저장             => 대상매장 : PC/SL  후불, 메인포스
        -. 기타정보 이행 
           PAYGLECFG.INI TPay 설정파일 복사 
    8) 신규포스 운영 전체 이미지 다운로드 
        -. 서버통신으로 해당 이미지의 FTP정보 및 파일 정보를 조회하여 파일을 다운로드 받는다. 
        -. POS운영이미지, 객면 이미지, 상품 이미지, 캠페인 이미지, 시험모드 이미지 
        ★ 2017.03.23
           차세대포스 최초 기동시 최신 프로그램/이미지를 다운로드 하기 때문에 설치시에는 다운로드 하지 않는다 
    9) 바로가기 생성 
        -. 바탕화면에 "PosStart.exe"를 바로기기로 연결한다. 
    10) 폰트설치 
        -. 국내법인 기본폰트 "맑은 고딕" 설치 
        -. 설치폰트는 차세대 포스 프로그램 설치경로 Temp 디렉토리에 미리 다운로드 받는다. 
        -. OS 버전이 XP이면, VistaFont_KOR.EXE를 자동설치모드(/Q)로 설치
                    XP가 아니면, malgun.ttf, malgunbd.ttf 파일을 복사하고 레지스트리 등록 한다. 
         

4. 서버 운영 정보 
    1) 각 법인별 서버가 존재 한다는 가정하에 프로그래밍 되어 있다. 
    2) 설치관련 오라클 테이블 
        -. POS_INSTALL_SCHEDULE                     : 점포별 설치일정 및 시스템 오픈 일자 
        -. POS_INSTALL_STATUS                       : 포스별 설치 현황 정보 
        -. POS_INSTALL_LOG                          : 포스별 설치 로그 정보 
        -. POS_INSTALL_MST_KPS                      : 포스별 주방프린터 이행 정보 
        -. POS_INSTALL_MST_TOUCHKEY                 : 포스별 터치키 마스터 이행 정보 
        -. POS_INSTALL_MST_FLAVOR                   : 포스별 플레이버 마스터 이행 정보 
        -. POS_INSTALL_MST_POSTRMNL                 : 설치 포스 이행 정보 
        -. POS_INSTALL_MST_POSTOPT                  : 포스별 옵션정보 이행 정보