Pkg 고급 옵션 기능 소개

설치 과정에서 사용자에게 표시할 파일 파일을 지정할 수 있습니다.이 파일 자체는 기본 자술 정보나 허가 프로토콜을 표시하기 위해 대상 장치에 복사되지 않습니다.이렇게 하려면 pkg 파일에 행을 추가하십시오.
"license.txt" - " ", FILETEXT, TEXTCONTINUE

FILETEXT는 설치하는 동안 파일이 표시됨을 나타냅니다.TEXTCONTINUE는 이 텍스트 파일을 닫고 설치를 계속할 수 있는 계속 단추를 제공합니다.TEXTCONTINUE 대신 다음 중 하나로 지정할 수 있습니다.
• TEXTSKIP 는 예/아니요 옵션을 표시합니다.예 를 선택하면 설치가 계속됩니다.아니오를 선택하면 다음 설명을 건너뛰고 설치가 정상적으로 계속 진행됩니다.
• TEXTEXIT는 예/아니요 옵션을 표시합니다.예 를 선택하면 설치가 계속됩니다.아니오를 선택하면 설치를 중지하고 설치된 파일을 삭제합니다.
• TEXTABORT에는 예/아니요 옵션이 표시됩니다.그러나 선택 취소가 선택되면 설치는 중지되고 설치된 파일은 삭제되지 않습니다.런타임에 생성된 파일을 제거합니다.
 
다국어 문자 알림
문자 알림의 언어는 장치의 부족한 언어에 따라 사용자 정의될 수 있습니다.예를 들면 다음과 같습니다.
IF  (LANGUAGE=2) ;       ,   mytext.t02
"mytext.t02"-"", FILETEXT, TEXTABORT
ELSEIF (LANGUAGE=3) ; , mytext.t03
"mytext.t03"-"", FILETEXT, TEXTABORT
ELSE ; mytext.t01
"mytext.t01"-"", FILETEXT, TEXTABORT
ENDIF

장치의 기본 언어가 프랑스어일 때, 상례에 mytext가 표시됩니다.t02 ;독일어로 mytext.t03 ;다른 언어는 mytext.t01 .
참고로 PKG에서 언어를 정의해야 합니다.
;Language - standard language definitions
&EN,GE,FR

런타임에 생성된 파일 제거
프로그램의sis파일 마운트 해제 프로그램을 거치면 마운트 해제 프로그램은 pkg파일의 파일 설명줄에 따라 전화로 복사된 모든 파일을 제거합니다.그러나 실행할 때 생성된 파일은 어떻게 해야 합니까?
프로그램이 만든 파일 이름이 설치할 때 알려지면 '빈 파일 (null files)' 으로 추가해야 합니다.pkg 파일.에 있습니다.pkg 파일의 파일 이름(언어가 중립적인 파일) 형식은 다음과 같습니다.
"" - "C/system/data/my_runtime_generated_file", FILENULL

여기 myruntime_generated_파일은 프로그램에서 만든 데이터 파일입니다.FN(FILENULL) 매개변수는 파일이 아직 존재하지 않으므로sis 파일에 포함되지 않는다는 의미입니다.실행 중인 프로그램에 의해 만들어졌으며, 프로그램이 제거될 때 삭제됩니다.참고: 지정한 소스 파일 이름은 중요하지 않으며 비어 있어야 합니다("").또한 다음 버전으로 업그레이드되면 삭제되지 않습니다.이것은 예를 들면.ini 등 파일은 프로그램 선호도를 저장하여 업그레이드 중 잃어버리지 않습니다.
Symbian OS v9.에서 FILENULL 옵션x에서는 지원되지 않습니다.개발자는 응용 프로그램의 데이터 캐비닛 (data cage) 에서 파일을 만들도록 권장합니다. 이 파일은 마운트 해제할 때 자동으로 (완전히) 삭제됩니다.
만약 프로그램이 만든 파일의 수량 (또는 그것들의 정확한 이름) 을 알 수 없다면, 상황은 약간 복잡할 것이다.일종의 해결 방법으로서..sis 패키지는 마운트 해제 프로그램을 포함하여 마운트 해제할 때 적절한 파일을 찾아 제거합니다.이러한 프로그램은 다음과 같이 제거할 때 자동으로 실행됩니다.
"/epoc32/release/armi/urel/uninst.app"  - "!:/system/apps/myapp/uninst.app", RR, RW

RR(RUNREMOVE) 매개변수를 제거(제거)할 때 실행할 파일입니다.RW(RUNWAITEND)는 설치가 완료될 때까지 (시스템) 제거 도구가 이 프로그램을 시작하고 기다려야 함을 나타냅니다.
SIS 파일 포함
다음의 코드와 같이 당신의sis 파일에 다른sis 파일을 포함할 수 있습니다.
@”sis file name”,(UID)

예: @ "prog1.sis”,(0x12341234) prog1.sis, UID 0x12341234가 있으며 이 줄에 닿을 때 설치됩니다.주의: 마운트 해제할 때, 이 삽입된sis는 시스템이 현재 설치된 다른 부품이 사용하지 않는다고 판단할 때까지 마운트 해제됩니다. (즉, pkg 파일에도 이sis가 포함되지 않은 다른 부품이 없어야 마운트 해제됩니다.)
설치 또는 제거 시 실행 파일 실행
실행할 실행 파일을 지정할 수 있으며, 실행 파일 설명 줄 끝에 FILERUN (FR) 과 RUNINSTALL (RI) 키워드를 추가할 수 있습니다.
예를 들면 다음과 같습니다.
"/Symbian/6.1/Series60/Epoc32/release/armi/urel/myprogram.exe"-
"!:system/programs/myprogram.exe",FR,RI

my 프로그램이 설치됩니다.exe를 설치하는 동안 실행합니다.RUNINSTALL 키워드는 다음 중 하나로 대체할 수 있습니다.
• RUNREMOVE(RR)를 사용하면 설치 제거 중에만 수행할 수 있습니다.
• RUNREMOVE(RR)를 사용하면 설치 및 제거 중에 실행 파일을 실행할 수 있습니다.
이 세 가지 옵션 중 하나는 키워드 RUNWAITEND(RW)와 함께 사용할 수 있으며, RUNWAITEND(RW)는 설치를 실행이 끝날 때까지 기다릴 수 있습니다.지정하지 않으면 설치는 실행 가능한 파일이 시작된 후 바로 계속됩니다.
종속 행(Requisite Lines)
특정 부품이 현재 설치되어 있어야 계속할 수 있음을 의존 줄로 표시할 수 있습니다.다음 형식을 사용합니다.
{UID}, Major_Version_#,Minor_Version_#,Build_#,{“Product Name”}

즉, 지정된 UID와 제품 이름이 있고 지정된 버전 번호보다 빠르지 않은 부품은 설치를 계속해야 합니다.
예를 들면 다음과 같습니다.
{0x10000123},1,0,0,{"MyDll"}

MyDll이라는 부품은 UID 0x10000123과 최소한 1.0.0의 버전 번호를 가지고 있으며 설치가 계속되기 전에 이미 존재해야 한다고 지적했다.의존행은 비교적 익숙해 보일 것이다. 왜냐하면 이것도 목표 플랫폼 행의 실현 방식이기 때문이다.대상 플랫폼 행 예:
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}

는 필수 선언입니다. 이름이 Serveries60ProductID인 부품의 UID는 0x101F6F88이고 버전 번호는 0.0.0 이상이므로 설치를 계속할 수 있어야 합니다.
S60 제3판부터 S60 제품 Id는 반드시 방괄호에 써야 한다.예:
[0x101F7961], 0, 0, 0, {"S60ProductID"}

 
언어 지원
응용 프로그램의 여러 번역 버전은 하나의sis 파일에 존재할 수 있습니다.사용자가sis 파일을 설치할 때, 어떤 언어를 설치할 것인지를 선택하라는 알림을 받는다.포함하고자 하는 여러 언어를 지정하려면 pkg 파일의 맨 위에 언어 줄을 추가해야 합니다.언어 행은 다음 목록(불완전)에서 쉼표로 분할된 언어 코드 목록을 포함하는'&'로 시작합니다.
  • AM– US English
  • AS – Austrian German
  • AU – Australian English
  • BF – Belgian French
  • BL – Belgian Flemish
  • CS – Czech
  • DA – Danish
  • DU – Dutch
  • EN – UK English
  • FI – Finnish
  • FR – French
  • GE – German
  • HK – Hong Kong Chinese
  • HU – Hungarian
  • IC – Icelandic
  • IF – International French
  • IT – Italian
  • JA – Japanese
  • NO – Norwegian
  • NZ – New Zealand
  • PL – Polish
  • PO – Portuguese
  • RO - Romanian
  • RU – Russian
  • SF – Swiss French
  • SG – Swiss German
  • SK – Slovak
  • SL – Slovenian
  • SP – Spanish
  • SW – Swedish
  • TC – Taiwan Chinese
  • TH – Thai
  • TU – Turkish
  • ZH – Prc Chinese

  • 한 언어 행의 예:
    &EN, FR, FI

    이sis 파일에는 영어, 프랑스어, 핀란드어 언어 선택이 포함되어 있음을 지적합니다.언어 행이 없으면 &EN으로 간주됩니다.
    지원되는 장치 제한
    패키지 파일을 일부 장치에만 설치하는 것을 제한하는 것은 가능하다.예를 들어 WiFi를 사용하는 응용 프로그램은 WiFi가 있는 장치에서만 설치할 수 있어야 한다.패키지 파일이 WiFi가 없는 장치에 설치되어 있으면 설치 프로그램에서 호환되지 않는다는 경고 메시지가 표시됩니다.
    다음 예제에서는 Nokia N80, N93, N93 및 N95에만 설치할 수 있는 패키지 파일의 예를 보여 줍니다.
    [0x200005F9], 0, 0, 0, {"Nokia N80 ID"}
    [0x20000600], 0, 0, 0, {"Nokia N93 ID"}
    [0x20000605], 0, 0, 0, {"Nokia N93i ID"}
    [0x2000060B], 0, 0, 0, {"Nokia N95 ID"}

    장치 Id 목록은 S60 Platform and device identification codes에서 확인할 수 있습니다.
    장치 관련 파일 설치
    사용자 장치에 의존하는 파일을 설치하는 것이 가능합니다.예를 들어 게임 개발자는 3D 가속기를 지원하는 장치에 대해 특수한 DLL을 만들 수 있다.3D 가속기가 없는 경우 패키지 파일에는 표준 DLL이 설치되어 있어야 합니다.이 작업은 다음 코드를 사용하여 수행할 수 있습니다.
    IF (MachineUID=0x20000600) OR (MachineUID=0x2000060B)
     
     ; If the device is Nokia N93 or N95, then install files in this block.
    "/epoc32/release/armv5/urel/mydll_3d" -"!:/sys/bin/mydll.dll"
     
    ELSE
     
     ; Otherwise install any files in this block.
    "/epoc32/release/armv5/urel/mydll" -"!:/sys/bin/mydll.dll"
     
    ENDIF

    장치 Id 목록은 S60 Platform and device identification codes에서 확인할 수 있습니다.
     
    플랫폼 관련 파일 설치
    운영체제에 의존하는 파일을 설치하는 것이 가능하다.예를 들어, 3rd FP2 버전은 일부 Bluetooth 라이브러리를 제거하므로 다른 파일을 설치해야 합니다.z:/system/install 폴더에 있는 파일을 확인하면 전화 연결 플랫폼이 제공됩니다.
    if exists("z:/system/install/Series60v3.2.sis")
    "/Epoc32/release/gcce/UREL/Common_0x123123123_fp2.dll"-"C:/sys/bin/common_0x123123123.dll"
    else
    "/Epoc32/release/gcce/UREL/Common_0x123123123.dll"-"C:/sys/bin/common_0x123123123.dll"
    endif

    좋은 웹페이지 즐겨찾기