이번 장에서는 윈도우 환경에서 넥사크로 앱을 배포하는 방법을 설명합니다.
사용자가 앱 설치 파일을 내려받아 설치한 후 바탕화면에 만들어진 단축 아이콘을 클릭해 앱을 실행할 수도 있고, 런처 서비스를 설치한 후 서비스 페이지에서 [실행] 버튼을 클릭해 앱을 실행할 수도 있습니다.
주요 용어 설명
- 넥사크로 엔진
윈도우 운영체제에서 넥사크로 앱을 실행하기 위한 실행환경을 의미합니다. 운영체제 버전에 따라 32비트, 64비트 넥사크로 엔진을 설치할 수 있습니다. 기본 넥사크로 엔진은 변경 없이 그대로 사용하며 설치 리소스를 사용하거나 앱 설치 파일을 사용하는 경우에는 Engine Setup Key와 설치 경로를 따로 지정할 수 있습니다.
- 런처 서비스
윈도우 서비스로 동작하면서 지정한 넥사크로 엔진을 통해 앱을 실행하는 기능을 수행합니다. 기본 넥사크로 엔진을 사용하는 경우 단축 아이콘을 만들거나 설치 리소스를 같이 배포하는 기능을 처리할 수 있습니다.
런처 서비스를 활용한 배포 및 앱 실행 데모
이번 장에서는 런처 서비스를 활용한 배포 및 앱 실행 방식을 설명하기 위해 기본적인 기능만 다룹니다. 사용자 환경에 따른 예외 조건을 고려한 스크립트는 아래 링크에 있는 HTML, Javascript 템플릿 파일을 참고하세요.
https://github.com/TOBESOFT-DOCS/sample_Nexacro_N_windows_deploy/tree/master/Sample
데모에서 사용한 프로젝트와 파일은 아래 링크에서 내려받을 수 있습니다.
https://github.com/TOBESOFT-DOCS/sample_Nexacro_N_windows_deploy
각 버튼은 설치 여부에 따라 동작합니다. 아래 표 설명을 참고해주세요.
번호 | 동작 | 설명 |
---|---|---|
런처 서비스 설치 및 실행 | ||
1 | 런처 서비스 설치 파일 배포 런처 서비스 실행 후 ID 생성 | 런처 서비스 설치/동작 여부를 확인하고 설치되어 있지 않은 경우에는 설치 파일을 내려받습니다. 런처 서비스가 설치되어 동작하고 있는 경우에는 ID를 생성하고 반환합니다. 런처 서비스 버전과 ID를 확인할 수 있습니다. |
넥사크로 엔진 설치 및 앱 실행 | ||
2 | 넥사크로 엔진 설치 파일 배포 넥사크로 엔진 버전 확인 | 넥사크로 엔진 설치 여부를 확인하고 설치되어 있지 않은 경우에는 설치 파일을 내려받습니다. 넥사크로 엔진이 설치된 경우에는 버전 정보를 확인할 수 있습니다. |
3 | 기본 넥사크로 엔진 setproperty | 부트스트랩 파일 경로와 엔진 셋업키값 등을 설정합니다. |
4 | 앱 실행 | 3번 단계에서 설정한 앱을 실행합니다. |
5 | 단축 아이콘 만들기 | 바탕화면에 단축 아이콘을 생성합니다. |
6 | 단축 아이콘 삭제하기 | 생성한 단축 아이콘을 삭제합니다. |
넥사크로 엔진 개별 설치 및 앱 실행 | ||
7 | 기본 넥사크로 엔진 개별 사용 setproperty | 넥사크로 엔진 개별 사용을 위한 속성값을 설정합니다. |
8 | SetupResource.zip 파일 내려받기 | SetupResource.zip 파일을 임시 경로에 내려받습니다.
|
9 | 넥사크로 엔진 설치 파일 내려받기 | 넥사크로 엔진 설치 파일을 내려받습니다. 내려받은 설치 파일을 실행하면 지정된 경로에 넥사크로 엔진을 설치하고 단축 아이콘이 만들어집니다. 삭제는 아래 경로에서 uninstall 파일을 실행합니다.
|
각 단계 실행 결과는 하단 TextArea(실행 결과)에서 확인할 수 있습니다.
XHR log 체크를 해제하면 responseText를 표시하지 않고 result와 오류만 표시합니다.
Edit 컴포넌트에 입력한 텍스트는 globalvalue로 전달됩니다. 앱 실행 시 화면에 표시되는 것을 확인할 수 있습니다.
이번 장 설명에서는 사용자에 따른 분기 처리를 하지 않았습니다.
사용자가 64비트 윈도우를 사용하고 있다는 설정으로 작성했습니다.
런처 서비스 사용 시 아래와 같은 순서에 따라 동작합니다.
런처 서비스로 배포하기
런처 서비스는 리소스 배포, 앱 실행 등의 관리를 위해 사용자 PC에 설치 후 백그라운드로 동작하는 서비스입니다. 런처 서비스가 동작하기 위해서는 런처 서비스 설치 파일을 배포하고 사용자가 설치하는 과정이 필요합니다.
서비스 페이지에서 런처 서비스 설치 파일 배포하기
서비스 페이지는 필요한 파일을 배포하고 실행하기 위한 웹페이지를 의미합니다. 페이지 로딩 시 스크립트를 처리할 수도 있으며 사용자가 특정 버튼 클릭 시 동작하도록 구성할 수 있습니다. 아래 예제에서는 사용자가 버튼을 클릭했을 때 스크립트가 동작하도록 구성했습니다.
사용자 | 서비스 페이지 |
---|---|
1 서비스 페이지에 접속합니다. | 2 런처 서비스 URL을 호출합니다.
|
3 런처 서비스 URL 호출 시 응답이 없으면 런처 서비스가 설치되어 있지 않다고 판단합니다.
| |
4 런처 서비스 설치 파일을 내려받습니다. |
런처 서비스 URL은 아래 형식으로 사용합니다.
http://127.0.0.1:[PORT]/launcher/nexacro/[TIMESTAMP]
[PORT]는 런처 서비스 설치 시 설정된 포트입니다.
[TIMESTAMP]는 웹브라우저 캐시 동작으로 오류 발생을 방지하기 위해 사용합니다.
var objNexacro = {}; objNexacro.id = ''; var xhr = null; var that = this; this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.platform = 'nexacro'; objNexacro.action = 'create'; xhr = new XMLHttpRequest(); xhr.reqType = 1; xhr.onreadystatechange = function() { if(xhr.readyState === 4) { if(xhr.status==0) { that.FileDownTransfer00.download(window.location.protocol + "//" + window.location.host + "/Service/TPLSvc_Setup.exe"); } else { var objResult = JSON.parse(xhr.responseText); if(objResult.result == "success" && objResult.id.length > 0) { objNexacro.id = objResult.id; that.fn_addvalue("launcher service id :"+objNexacro.id); } } checkLaunchVersion(); } } var send_url = "http://127.0.0.1:7895/launcher/nexacro/"+new Date().getTime(); xhr.open("POST", send_url, true); xhr.send(JSON.stringify(objNexacro)); };
런처 서비스 설치 파일 실행해서 설치하기
사용자는 런처 서비스 설치 파일을 내려받고 직접 런처 서비스 설치 파일을 실행해 런처 서비스를 설치해야 합니다. 설치 후 서비스 페이지에 다시 접속하는 것은 별도로 안내해주어야 합니다.
사용자 | 서비스 페이지 |
---|---|
1 내려받은 런처 서비스 설치 파일을 실행합니다. | |
2 런처 서비스를 설치합니다. | |
3 서비스 페이지에 다시 접속합니다. | |
4 런처 서비스 URL을 호출합니다. | |
5 런처 서비스 URL이 정상적으로 요청되면 id 값을 포함한 응답을 반환합니다. |
런처 서비스 실행 여부를 확인하고 id 속성값을 저장합니다. id 속성값은 이후 진행되는 런처 서비스와의 통신 시 키값으로 사용합니다.
... var objResult = JSON.parse(xhr.responseText); if(objResult.result == "success" && objResult.id.length > 0) { objNexacro.id = objResult.id; } ...
사용 환경에 따라 기본 포트(7895)를 사용할 수 없는 경우에는 7895~7935 사이의 포트를 사용합니다. 예제에서는 기본 포트(7895)를 사용할 수 있다는 전제로 설명하고 있습니다.
서비스 페이지에서 넥사크로 엔진 설치 파일 배포하기
앱 실행에 필요한 넥사크로 엔진이 설치되어 있는지 확인합니다. ProductKey와 엔진버전이 일치하는 경우에는 다음 단계로 진행하고 일치하지 않은 경우에는 설치 파일을 내려받습니다.
사용자 | 서비스 페이지 |
---|---|
1 서비스 페이지에 접속합니다. | |
2 런처 서비스 URL을 호출합니다. | |
3 런처 서비스 URL이 정상적으로 요청되면 id 값을 포함한 응답을 반환합니다. | |
4 넥사크로 엔진 설치 여부를 확인합니다. | |
5 넥사크로 엔진이 설치되어 있지 않거나 버전이 낮은 경우에는 넥사크로 엔진 설치 파일을 내려받습니다.
|
ProductKey에 해당하는 엔진버전 정보가 있는 경우에는 값을 반환하고 그렇지 않은 경우에는 빈값을 반환합니다.
this.Button01_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { this.fn_addvalue("(2) Button Click"); if(objNexacro.id=='') { that.fn_addvalue('launcher service id was not created'); return false; } objNexacro.action = "method"; objNexacro.value = { "getengineversion": { "param": ["{3E221E7D-2ECF-4EF4-AD16-C69972112C86}"], "result": null } }; xhr = new XMLHttpRequest(); xhr.reqType = 1; xhr.onreadystatechange = function() { if(xhr.readyState === 4) { var resultJson = JSON.parse(xhr.responseText); var reg = new RegExp("21.0.0.100", "i"); var rtnEngineVer = resultJson.value["getengineversion"].result; that.fn_addvalue("nexacro engine version: "+rtnEngineVer); var strEgine = reg.test(rtnEngineVer); if(!strEgine) { that.FileDownTransfer00.download(window.location.protocol + "//" + window.location.host + "/Service/NexacroN_SetupRuntime_x64.exe"); } } } var send_url = "http://127.0.0.1:7895/launcher/nexacro/"+new Date().getTime(); xhr.open("POST", send_url, "true"); xhr.send(JSON.stringify(objNexacro)); };
넥사크로 엔진 설치 파일은 운영체제에 따라 2가지(32비트, 64비트)를 지원합니다. 사용자 운영체제가 불특정한 경우에는 운영체제에 따라 적절한 파일을 내려받을 수 있도록 합니다. 아래 문서를 참고하세요.
넥사크로 엔진 설치 파일 실행해서 설치하기
사용자가 넥사크로 엔진 설치 파일을 내려받은 이후에는 사용자가 직접 넥사크로 엔진 설치 파일을 실행해 넥사크로 엔진을 설치해야 합니다. 서비스 페이지에 다시 접속하는 것은 별도로 안내해주어야 합니다.
사용자 | 서비스 페이지 |
---|---|
1 내려받은 넥사크로 엔진 설치 파일을 실행합니다. | |
2 넥사크로 엔진을 설치합니다. | |
3 서비스 페이지에 다시 접속합니다. | |
4 런처 서비스 URL을 호출합니다. | |
5 런처 서비스 URL이 정상적으로 요청되면 id 값을 포함한 응답을 반환합니다. | |
6 넥사크로 엔진 설치와 버전을 확인합니다. |
앱 실행하기
프로젝트의 특성에 따라 배포할 파일을 만드는 방법이 달라집니다. 단축 아이콘을 생성해야 하는지, 설치 폴더를 구분해야 하는지, 앱마다 다른 버전의 엔진을 사용해야 하는지 등에 따라 운영 방식을 선택할 수 있습니다. 아래 표에서 기능 차이를 확인해주세요.
넥사크로 엔진 운영 방식의 차이
기능 차이
기본 넥사크로 엔진 | 기본 넥사크로 엔진 + SetupResource.zip | 앱 설치 파일 (*.exe) | |
---|---|---|---|
설치 파일 생성 | X 기본 넥사크로 엔진 사용 | X 기본 넥사크로 엔진 사용 | O |
설치 파일 디지털 서명 | 투비소프트 | 투비소프트 | X 디지털 서명 별도 처리 |
Engine Setup Key | 변경할 수 없음 | 변경 권장 | 변경 권장 |
Build App 메뉴 | 사용하지 않음 | O | O |
단축 아이콘 생성 | △ 런처 서비스를 통해 생성 | O | O |
스플래시 이미지 지정 | △ 런처 서비스를 통해 생성 | O | O |
설치 폴더 지정 | X | O | O |
생성된 설치 파일을 디지털 서명 없이 실행 시 Publisher 정보는 "Unknown Publisher"로 표기됩니다.
시스템 환경에 따라 Publisher 정보가 확인되지 않은 경우 앱을 설치할 수 없는 경우도 있을 수 있습니다.
마이크로소프트에서 배포하는 SignTool.exe과 같은 도구를 사용해 디지털 서명을 처리할 수 있습니다.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa387764(v=vs.85).aspx
Deploy 메뉴 설정 차이
기본 넥사크로 엔진 | 기본 넥사크로 엔진 설치 리소스 | 넥사크로 엔진 포함 앱 설치 파일 | |
---|---|---|---|
Packing (Archive&Update) | |||
NRE (Windows) | 선택 | 선택 | 선택하지 않음 |
Setup Filename | 변경할 수 없음 | 변경할 수 없음 | |
Engine Setup Key | 변경할 수 없음 | 변경할 수 없음 | |
Version | 변경할 수 없음 | 변경할 수 없음 | |
Build App | |||
Install Location | Build App 메뉴 사용하지 않음 | Program Files 폴더 기준 상대 경로 입력 | |
Bootstrap URL | Update Type이 Server, Update인 경우에는 웹 서버에 배치한 start.json URL 입력 | ||
Setup Filename | 변경할 수 있음 | ||
Engine Setup Key | Install Location 변경 시 새로운 키 생성을 권장 |
Deploy 메뉴에서 생성해 배포해야 하는 파일
Packing (Archive&Update) | |
---|---|
Update, Local | Archive.xzip nexacrolib.zip Resource.zip start.json |
Server | _resource_ 폴더 [Service 그룹] 폴더 [nexacrolib] 폴더 [프로젝트명].xadl.js environment.xml.js nexacrolib.zip start.json |
Build App | |
기본 넥사크로 엔진, 설치 리소스 (Packing 단계에서 NRE 선택한 경우) | NexacroN_SetupRuntime[_운영체제버전].exe SetupResoure.zip ProjectResource.zip |
넥사크로 엔진 포함, 앱 설치 파일 (Packing 단계에서 NRE 선택하지 않은 경우) | NexacroN_SetupRuntime[_운영체제버전].exe |
기본 넥사크로 엔진만 사용
넥사크로 플랫폼에서 제공하는 기본 넥사크로 엔진을 사용합니다. 사용자 PC에 이미 설치된 경우에는 별도 설치할 필요가 없습니다. 넥사크로 스튜디오 메뉴[Deploy > Packing]에서 Update Type을 "Server"로 선택하고 파일을 생성한 후 서버에 올려주면 런처 서비스에서 바로 실행할 수 있습니다.
사용자 | 서비스 페이지 | 서버 |
---|---|---|
1 서비스 페이지에 접속합니다. | ||
2 런처 서비스를 호출하고 실행 여부를 확인합니다. | ||
3 넥사크로 엔진 설치와 버전을 확인합니다. | ||
4 key, bjson, enginesetupkey 속성값을 설정합니다. | ||
5 앱을 실행합니다. | ||
6 start.json 파일을 체크합니다. | ||
7 start.json 파일에 지정된 콘텐츠를 처리합니다. |
아래 코드에서 bjson 속성값은 서버에 있는 start.json 파일의 경로를 지정해줍니다.
enginesetupkey 속성값은 제품 버전에 따라 달라질 수 있으며, 배포 방식에 따라 앱에 따라 달라질 수 있습니다.
- 제품 버전에 따른 enginesetupkey 속성값은 제품과 같이 배포되는 버전 정보 문서를 참조해주세요.
- enginesetupkey를 개별 생성한 앱의 경우에는 해당 앱 배포 담당자에게 문의해주세요.
this.Button02_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.action = 'setproperty'; objNexacro.value = { "key": "TEST", "bjson": window.location.protocol + "//" + window.location.host+"/_windows_/start.json", "screenid": "windows_sub_screen", "globalvalue": "gvTest:av="+this.Edit00.text, "enginesetupkey": "{3E221E7D-2ECF-4EF4-AD16-C69972112C86}" }; this.sendData(); }; this.Button03_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.action = 'method'; objNexacro.value = { "launch": null }; this.sendData(); }; this.sendData = function() { xhr = new XMLHttpRequest(); xhr.reqType = 1; xhr.onreadystatechange = function() { if(xhr.readyState === 4) { var resultJson = JSON.parse(xhr.responseText); if(resultJson.action == "event") { if(resultJson.value["error"].code!=0) { that.fn_addvalue("error code: "+resultJson.value["error"].code); that.fn_addvalue("error message: "+resultJson.value["error"].message); } } else { that.fn_addvalue("result: "+resultJson.result); } if(that.CheckBox00.value) that.fn_addvalue(xhr.responseText); if(resultJson.action != "event") that.get_event(); } } var send_url = "http://127.0.0.1:7895/launcher/nexacro/"+new Date().getTime(); xhr.open("POST", send_url, "true"); xhr.send(JSON.stringify(objNexacro)); }
기본 넥사크로 엔진 + 단축 아이콘 만들기
기본 넥사크로 엔진을 사용하는 경우에는 앱을 설치하지 않고 start.json 경로만 지정하고 실행하는 방식이기 때문에 단축 아이콘을 만들 수 없습니다. 처음에만 서비스 페이지에서 실행하고 다음부터는 단축 아이콘을 통해 실행하도록 한다면 아래와 같이 런처 서비스의 메소드를 이용해 단축 아이콘을 생성할 수 있습니다.
method: makeshortcut parameter: strShortCutName(단축 아이콘명), strIconPath(아이콘 파일을 내려받을 수 있는 경로), strIconTargetPath(사용자 PC에 아이콘 파일 내려받을 위치), strPosition(단축 아이콘 생성 위치), bAllUser(전체 사용자 사용 허용 여부)
this.Button04_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.action = 'method'; objNexacro.value = { "makeshortcut": { "param": ["test", window.location.protocol + "//" + window.location.host+"/_windows_/_resource_/_images_/sample_test.ico", "%USERAPP%", "desktop", true] } }; this.sendData(); };
생성된 단축 아이콘은 지정된 ico 이미지로 생성되며 아래와 같은 타겟 정보를 가집니다.
"C:\Program Files\tobesoft\nexacro N\21\nexacro.exe" -K 'TEST' -S 'http://127.0.0.1:4098/_windows_/start.json' -SCR 'windows_sub_screen'
deleteshortcut 메소드를 사용하면 생성한 단축 아이콘을 삭제할 수 있습니다.
method: deleteshortcut parameter: strShortCutName(단축 아이콘명), strPosition(단축 아이콘 생성 위치), bAllUser(전체 사용자 사용 허용 여부)
this.Button05_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.action = 'method'; objNexacro.value = { "deleteshortcut": { "param": ["test", "desktop", true] } }; this.sendData(); };
Update(Local+Server) 옵션으로 네트워크 트래픽 줄이기
넥사크로 스튜디오 메뉴[Deploy > Packing]에서 Update Type을 "Server"로 선택하면 매번 실행할 때마다 서버에 접속해서 동작합니다. 일반 웹페이지에 접근할 때와 같은 동작 방식입니다. 하지만, 네트워크 사정이 좋지 않은 지역에서는 필요한 리소스를 압축해서 PC에 내려받고 콘텐츠가 바뀌었을 때만 내려받도록 할 수 있습니다. 이런 경우에는 Update Type을 "Update(Local+Server)"로 선택합니다.
"Server" 방식인 경우에는 일단 해당 리소스를 호출하고 캐시로 저장된 경우에는 지나갑니다. 하지만 "Update(Local+Server)"인 경우에는 리소스를 로컬에 내려받고 버전이 달라지지 않으면 로컬에 있는 파일을 사용합니다.
아래의 경우는 처음 앱을 실행하는 경우이고 두 번째부터는 start.json 파일만 한번 접근하고 나머지 파일은 버전이 바뀌지 않으면 접근하지 않습니다.
"Update(Local+Server)"인 경우에는 내려받은 압축파일을 %USERAPP% 경로 아래에 지정한 Key 값으로 폴더를 생성하고 관리합니다.
Alias 경로 참고
Update Type이 "Server"인 경우에는 별도의 버전 지정 없이 서버에 파일을 배포하는 것만으로 사용자가 최신의 콘텐츠를 사용할 수 있지만, "Update(Local+Server)"인 경우에는 변경 시 버전을 같이 업데이트해주어야 합니다. 그리고 변경된 부분이 파일 하나라도 해당하는 아카이브 파일을 다시 배포해주어야 합니다.
로컬 환경에서 테스트 시 피들러(Fiddler)를 사용해 리소스 호출을 체크하는 경우 로컬호스트를 사용하면 넥사크로 브라우저 실행 시 체크가 되지 않습니다. 이런 경우에는 localhost(127.0.0.1) 대신 PC에 할당된 주소를 사용하거나 피들러의 Rule 파일을 수정해서 사용할 수 있습니다.
기본 넥사크로 엔진 + 설치 리소스(폴더, 단축 아이콘)
기본 넥사크로 엔진 + 단축 아이콘 만들기에서는 런처 서비스에서 makeshortcut 메소드를 사용해 만들게 되는데, 첫 번째 실행 시에는 서비스 페이지에서 접속해야 하는 제약이 있습니다. 이런 불편함을 줄이려면 넥사크로 엔진 배포 시 단축 아이콘이나 필요한 리소스를 같이 배포하는 방식을 사용할 수 있습니다.
이 방식을 사용하기 위해서는 생성할 폴더, 단축 아이콘 등의 정보를 같이 배포해주어야 합니다. 넥사크로 스튜디오 메뉴[Deploy > Packing] 단계에서 파일 생성 후 [Build] 버튼을 클릭하거나 [Deploy > Build App] 메뉴를 실행합니다.
Engine Setup Key 값은 기본값을 그대로 사용해도 되지만, 기존에 설치된 엔진과 충돌이 생길 수도 있어서 프로그램 설치 경로를 변경한 경우에는 새로운 키값을 생성하는 것을 권장합니다.
그리고 생성한 키값은 런처 서비스를 사용하거나 업데이트 파일 배포 시 같은 키값을 유지해야 합니다.
Build App 단계를 실행하면 3개의 파일이 생성됩니다.
서비스 페이지에서 넥사크로 엔진 설치 파일을 배포하는 것은 이전 단계와 같습니다. 다만 넥사크로 엔진 설치 파일을 실행하기 전에 SetupResource.zip 파일을 내려받아야 합니다. 런처 서비스 downloadresource 메소드를 사용하는 경우에는 임시 경로에 내려받고 설치 후 자동으로 삭제합니다.
아래 설명은 런처 서비스를 사용하는 경우 SetupResouce.zip 파일을 내려받는 단계를 설명합니다.
사용자 | 서비스 페이지 |
---|---|
1 서비스 페이지에 접속합니다. | |
2 런처 서비스를 호출하고 실행 여부를 확인합니다. | |
3 런처서비스 setproperty 동작에서 setupresource 속성값을 true로 설정합니다. | |
4 런처서비스 downloadresource 메소드를 실행해 SetupResource 파일을 내려받습니다. | |
5 넥사크로 엔진 설치 파일을 내려받습니다.
| |
6 설치 파일을 실행합니다. | |
7 생성된 단축 아이콘을 클릭해 앱을 실행합니다. |
this.Button06_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.action = 'setproperty'; objNexacro.value = { "key": "TEST", "bjson": window.location.protocol + "//" + window.location.host+"/_dummy_/start.json", "screenid": "windows_sub_screen", "enginesetupkey": "{DF766894-E778-4A2A-A585-13F9BD8DE053}", "setupresource": 'true' }; this.sendData(); }; this.Button07_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { objNexacro.action = 'method'; objNexacro.value = { "downloadresource": { "param": [window.location.protocol + "//" + window.location.host+"/_dummy_/"] } }; this.sendData(); }; this.Button08_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo) { that.FileDownTransfer00.download(window.location.protocol + "//" + window.location.host + "/_dummy_/dummy_Setup.exe"); };
런처서비스 downloadresource 메소드를 실행해 파일을 내려받은 경우에는 아래 경로의 SetupResource 폴더 아래 파일을 내려받습니다. 내려받은 파일은 넥사크로 엔진 설치 시 사용하고 설치 후에는 자동으로 삭제합니다.
C:\Users\[사용자 계정]\AppData\LocalLow\TOBESOFT\nexacro N\21\SetupResource
바탕화면에 Build App 단계에서 App Title로 지정한 이름으로 단축 아이콘이 생성된 것을 확인할 수 있습니다.
Build App 단계에서 Install Location 항목에 설정한 값에 따라 넥사크로 엔진 설치 경로가 생성됩니다.
기본 넥사크로 엔진 + 설치 리소스 + Update(Local+Server) 옵션 적용하기
Update Type을 "Update(Local+Server)"로 선택한 경우에는 SetupResouce.zip과 함께 ProjectResource.zip 파일이 같이 생성됩니다. 서버에는 2개 파일만 올리고 나머지 파일은 올리지 않습니다.
사용자 | 서비스 페이지 |
---|---|
1 서비스 페이지에 접속합니다. | |
2 런처 서비스를 호출하고 실행 여부를 확인합니다. | |
3 런처서비스 setproperty 동작에서 setupresource 속성값을 true로 설정합니다. | |
4 런처서비스 downloadresource 메소드를 실행해 SetupResource, ProjectResource 파일을 내려받습니다. | |
5 넥사크로 엔진 설치 파일을 내려받습니다. | |
6 설치 파일을 실행합니다. | |
7 생성된 단축 아이콘을 클릭해 앱을 실행합니다. |
ProjectResource.zip 파일 내에는 start.json 파일과 아카이브 파일을 포함하고 있습니다. 최초 실행 시 로컬에 있는 자원을 확인하므로 서버에 다른 파일을 올리지 않아도 됩니다.
최초 실행 시 서버에 다른 파일이 있는 경우 해당 파일을 다시 내려받아 기존 콘텐츠를 덮어쓰게 됩니다. 업데이트가 아닌 경우 유의해주세요.
앱 업데이트하기
Update Type이 Server 또는 Update인 경우에는 Packing (Archive&Update) 단계에서 생성한 파일을 서버에 업데이트합니다. 업데이트를 위해 Build App 단계는 필요하지 않습니다.
Update Type이 Local인 경우에는 사용자가 설치 파일을 내려받아 실행해서 업데이트를 진행하므로 Build App 단계에서 버전을 수정하고 배포합니다.
넥사크로 엔진 업데이트
Update Type이 "Server" 또는 "Update"인 경우 앱 실행 시 start.json 파일에 설정된 넥사크로 엔진 버전이 달라지면 자동으로 엔진 업데이트를 진행합니다. 사용자가 넥사크로 엔진을 따로 내려받지 않고 임시 경로로 설치 파일을 내려받아 설치한 후 앱이 바로 실행됩니다.
Update Type이 Server인 경우
수정한 파일을 서버에 업데이트합니다.
Update Type이 Update(Local+Server)인 경우
Module, Source, Resource 항목에서 Version 정보를 수정하고 수정된 파일을 선택합니다. 그리고 만들어진 파일을 서버에 업데이트합니다.
Version 정보가 이전보다 높은 값이 아니면 업데이트를 처리하지 않습니다.
Update Type이 "Local"인 경우
Update Type이 "Local"인 경우에는 사용자 PC에 저장된 start.json 파일을 기준으로 동작하기 때문에 앱 실행 시 업데이트를 할 수 없습니다. 이런 경우에는 설치 파일을 다시 배포해서 사용자가 직접 설치하면서 업데이트해야 합니다.
NRE 로그 확인하기
아래 내용을 참고하세요.
NRE 로그 확인하기
Packing (Archive&Update) 메뉴
Packing 위저드 실행하고 아카이브 파일 만들기
1
메뉴 [Deploy > Packing(Archive&Update)]를 선택하면 Packing 위저드가 실행됩니다.
2
Output Path 항목에서 아카이브 파일을 생성할 기본 위치를 지정합니다.
3
[Next] 버튼을 클릭하면 실행 환경에 따른 Packing 옵션을 선택하는 화면으로 전환됩니다.
4
실행 환경을 선택하고 실행 환경에 따른 Update Type과 설정 옵션을 지정합니다. 아카이브 파일의 압축, 난독화 옵션을 지정하는 경우에는 Options 항목을 선택해 원하는 옵션을 지정합니다.
항목 | 설명 | |
---|---|---|
1 | Sub Directory | 아카이브 파일을 생성할 폴더를 지정합니다. 선택한 실행 환경에 따라 자동으로 하위 폴더가 생성됩니다. 실행 환경별 하위 폴더는 아래와 같습니다. Web Browser (_web_) Windows (_windows_) Androids (_android_) iOS (_ios_) macOS (_macos_) |
2 | 실행 환경 | 아카이브 파일을 생성할 실행 환경을 선택합니다. 선택한 실행 환경의 설정 옵션을 지정할 수 있습니다. 선택하지 않은 실행 환경의 설정 옵션은 수정할 수 없습니다. |
3 | Update Type | 앱 배포 방식에 따라 3가지 Update Type을 지정합니다. 선택한 Update Type에 따라 설정 옵션이 변경됩니다. Web Browser 실행 환경은 Update Type을 선택하지 않습니다. |
4 | Resource Setting | 실행 환경별 설정 옵션을 지정합니다. |
5 | Update Info | Update Info 설정창을 띄웁니다. |
6 | Options | Deploy 환경 설정창을 띄웁니다. 메뉴 [Deploy > Settings]와 같은 기능입니다. |
5
[Packing] 버튼을 클릭하면 선택한 실행 환경과 설정에 따라 아카이브 파일을 만들고 결과를 표시합니다.
성공적으로 아카이브 파일이 만들어졌다면 해당 폴더를 파란색 링크로 표시합니다. 링크를 클릭하면 만들어진 폴더를 띄워줍니다. 왼쪽 하단의 [Build] 버튼을 클릭하면 설치 파일을 만드는 Build App 화면으로 이동합니다. 실행 환경을 Web Browser만 선택한 경우에는 [Build] 버튼이 활성화되지 않습니다.
index.html
Web Browser 실행 환경은 별도의 설치 파일을 만들지 않고 웹브라우저에서 접근할 수 있는 HTML 파일을 만듭니다. _web_ 폴더에 index.html 파일을 포함해 서버에 업로드해야 하는 파일이 생성된 것을 확인할 수 있습니다. _web_ 폴더에 있는 파일을 모두 서버에 업로드하면 웹브라우저에서는 아래와 같이 앱에 접근할 수 있습니다.
http://[도메인 주소]/index.html
실행 환경에 따른 Update Type 선택
실행 환경이 Windows, Android, iOS, macOS인 경우에는 Update Type 항목을 선택할 수 있습니다. 선택한 Update Type 항목에 따라 선택할 수 있는 설정 옵션이 달라지며 생성되는 아카이브 파일이 달라집니다.
Update Type
Update (Local + Server)
최초 설치 시 필요한 아카이브 파일을 내려받아 로컬 스토리지에 저장합니다. 콘텐츠 업데이트 시 버전 정보를 변경하면 네트워크에 연결해 필요한 파일을 내려받아 로컬 스토리지에 저장합니다.
Server
네트워크에 연결된 상태에서만 실행할 수 있습니다. 필요한 파일을 서버에서 내려받아 사용합니다.
Local
아카이브 파일을 포함한 상태로 배포 파일이 생성되며 설치 시 로컬 스토리지에 파일을 설치합니다. 네트워크 연결 없이 앱을 실행할 수 있습니다.
앱에 따라 Update Type 항목이 Local인 경우에도 데이터를 조회하거나 서버에 연결할 필요가 있는 경우 네트워크 연결이 필요할 수 있습니다.
실행 환경, Update Type에 따른 설정 옵션
실행 환경, Update Type에 따라 배포할 대상을 설정할 수 있습니다. 설정 옵션 항목에서 배포할 파일을 선택하거나 추가할 수 있습니다.
Module, Source, Resource 업데이트 시 Version 정보가 이전에 배포한 파일의 Version 정보와 같다면 실제 구동 시 같은 파일로 판단하고 업데이트를 진행하지 않습니다.
Update Info
최신 콘텐츠를 서버에서 받아서 처리하는 업데이트 정책을 지정할 수 있습니다. 콘텐츠를 받아올 경로를 지정하고 일정 횟수 정해진 시간만큼 업데이트를 시도하다가 콘텐츠를 받지 못하면 실패로 처리합니다. 업데이트를 자동으로 처리할지 사용자 요청 시 처리할지도 지정할 수 있습니다.
실행 환경, Update Type 별 설정 옵션 여부
Update (Local + Server) | Server | Local | |
---|---|---|---|
Web Browser | X | ||
Windows | O (필수) | O (필수) | X |
Android | O (필수) | O (필수) | X |
iOS | O (필수) | O (필수) | X |
macOS | O (필수) | O (필수) | X |
설정 옵션
Resource Setting 항목 오른쪽에 있는 [Update Info] 항목을 클릭하고 내용을 편집합니다.
항목 | 설명 |
---|---|
Base URL | SetupResource.zip, SetupRuntime.exe 등 업데이트가 필요한 파일의 기본 접근 경로 |
Timeout | 대기시간 |
Retry | 재시도 횟수 |
AutoUpdate | auto, manual 중 선택 |
Update Info 항목은 필수 항목이며 체크를 해제할 수 없습니다.
Setup
Build App 위저드를 사용하지 않고 넥사크로 기본 Setup을 배포할 수 있습니다. 부트스트랩 파일과 리소스 파일만 생성하며 부트스트랩 정보에 Setup 업데이트 정보가 추가됩니다.
실행 환경, Update Type 별 설정 옵션 여부
Update (Local + Server) | Server | Local | |
---|---|---|---|
Web Browser | X | ||
Windows | O | O | O |
Android | X | X | X |
iOS | X | X | X |
macOS | X | X | X |
설정 옵션
배포할 운영체제 타입을 선택합니다. 선택한 항목에 대한 정보는 부트스트랩 파일(start.json)에 추가됩니다.
항목 | 설명 |
---|---|
Use | 배포할 운영체제 선택 |
Type | 운영체제 타입 |
Server Path | Update Info 항목에서 설정한 Base URL 상대 경로 Setup 배포 경로가 Base URL과 다른 경우 지정합니다. 예를 들어 Base URL 항목은 "UPDATE"로 지정하고 Server Path 항목을 "SETUP_FILE"로 지정한 경우에는 아래와 같이 접근합니다.
|
Setup Filename | Setup 파일명 |
Engine Setup Key | Setup Key |
Version | Setup 버전 정보 |
Setup 설정 옵션을 선택하고 바로가기 아이콘이나 스플래시 이미지를 수정하거나 엔진 셋업키를 변경하기 원한다면 Build App 단계에서 변경할 수 있습니다.
Module
넥사크로 앱을 실행하는 데 필요한 프레임워크(nexacrolib) 배포 여부를 설정할 수 있습니다. 실행 환경이 Windows라면 외부 모듈이나 UWP API 앱 실행을 위한 모듈을 추가할 수 있습니다.
실행 환경, Update Type 별 설정 옵션 여부
Update (Local + Server) | Server | Local | |
---|---|---|---|
Web Browser | X | ||
Windows | O | O | O (필수) |
Android | O | X | O (필수) |
iOS | O | X | O (필수) |
macOS | O | X | O (필수) |
설정 옵션
배포할 모듈 파일을 추가하거나 변경, 삭제할 수 있습니다. 실행 환경에 따라 설정 옵션 중 일부만 제공될 수 있습니다.
항목 | 설명 |
---|---|
Type | 모듈 타입 확장 모듈의 경우 운영체제 버전을 표시합니다 (Ext [운영체제버전]) 프레임워크(nexacrolib), 파일(File) 모듈 타입을 표시합니다. |
Server Path | Update Info 항목에서 설정한 Base URL 상대 경로 모듈 배포 경로가 Base URL과 다른 경우 지정합니다. 예를 들어 Base URL 항목은 "UPDATE"로 지정하고 Server Path 항목을 "MODULE"로 지정한 경우에는 아래와 같이 접근합니다.
|
Name | 모듈 파일명 (변경할 수 없음) |
TargetPath | 로컬 환경에 파일을 내려받는 경로를 지정합니다. 기본 설정(./)으로 지정한 경우에는 %USERAPP% 경로에 파일을 저장합니다. %USERAPP%Component/TEST/ 와 같은 식으로 특정 경로를 지정할 수도 있습니다. |
Version | 모듈 버전 |
Description | 기타 메모 (시스템 실행에는 영향을 미치지 않습니다). |
설정 옵션 (Update Type이 Local인 경우)
프레임워크 파일(nexacrolib.zip)이 기본 설정되어 있으며 삭제하거나 변경할 수 없습니다. 설정 옵션 항목은 Type, Name 두 가지 값만 표시합니다.
설정 옵션 (실행 환경이 Windows인 경우)
확장 모듈, UWP, 파일을 추가하는 기능을 사용할 수 있습니다. 실행 환경이 Android, iOS, macOS인 경우에는 프레임워크 파일 외 다른 모듈 파일을 배포할 수 없습니다.
설정 옵션 (실행 환경이 Web Browser 또는 Update Type이 Server인 경우)
프레임워크 파일을 압축된 파일 형태로 내려받지 않고 Web Browser에서 실행되는 파일 형태로 배포합니다.
Source
프로젝트 파일 중에서 배포할 대상을 선택합니다. 최초 배포 시에는 전체 프로젝트를 선택해야 하며 업데이트 시에는 필요한 대상만 선택하고 배포할 수 있습니다. 실행 환경과 Update Type에 따라 파일을 직접 배포하거나 압축된 아카이브 파일 형태로 배포합니다.
실행 환경, Update Type 별 설정 옵션 여부
Update (Local + Server) | Server | Local | |
---|---|---|---|
Web Browser | O | ||
Windows | O | O | O (필수) |
Android | O | O | O (필수) |
iOS | O | O | O (필수) |
macOS | O | O | O (필수) |
설정 옵션
Project Files 항목에서 배포 대상 파일을 선택합니다. Archives 항목이 있는 경우에는 소스 파일을 담을 아카이브 파일을 선택한 후에 Project Files 항목에서 배포 대상을 선택할 수 있습니다.
항목 | 설명 |
---|---|
Rearchive | 체크박스를 선택해 원하는 소스 아카이브 파일만 생성할 수 있습니다. |
Name | 아카이브 파일명 |
Version | 아카이브 파일 버전 |
Description | 기타 메모 (시스템 실행에는 영향을 미치지 않습니다). |
설정 옵션 (실행 환경이 Web Browser 또는 Update Type이 Server인 경우)
아카이브 파일을 만들지 않고 Project Files에서 선택한 항목만 배포합니다. 설정 옵션에서 Archives 항목이 표시되지 않습니다.
설정 옵션 (Update Type이 Local인 경우)
설정 옵션 항목은 Rearchive, Name 두 가지 값만 표시합니다.
Resource
리소스 파일 중에서 배포할 대상을 선택합니다. 최초 배포 시에는 전체 리소스를 선택해야 하며 업데이트 시에는 필요한 대상만 선택하고 배포할 수 있습니다. 실행 환경과 Update Type에 따라 파일을 직접 배포하거나 압축된 아카이브 파일 형태로 배포합니다.
실행 환경, Update Type 별 설정 옵션 여부
Update (Local + Server) | Server | Local | |
---|---|---|---|
Web Browser | O | ||
Windows | O | O | O (필수) |
Android | O | O | O (필수) |
iOS | O | O | O (필수) |
macOS | O | O | O (필수) |
설정 옵션
Resource Files 항목에서 배포 대상을 선택합니다. Archives 항목이 있는 경우에는 Resource.zip 하나의 파일만 만들 수 있습니다.
항목 | 설명 |
---|---|
Name | 아카이브 파일명 (변경할 수 없음) |
Version | 아카이브 파일 버전 |
Description | 기타 메모 (시스템 실행에는 영향을 미치지 않습니다). |
설정 옵션 (실행 환경이 Web Browser 또는 Update Type이 Server인 경우)
아카이브 파일을 만들지 않고 Resource Files에서 선택한 항목만 배포합니다. 설정 옵션에서 Archives 항목이 표시되지 않습니다.
설정 옵션 (Update Type이 Local인 경우)
설정 옵션 항목은 Name만 표시합니다.
Build App 메뉴
Build App 위저드 실행하고 설치 파일 만들기
1
Packing 위저드에서 아카이브 파일을 만들고 [Build] 버튼을 클릭하거나 메뉴 [Deploy > Build App]를 선택하면 Build App 위저드가 실행됩니다.
Packing 단계에서 [Build] 버튼을 클릭한 경우에는 속성 설정화면으로 넘어가고 Build App 메뉴로 접근한 경우에는 Build Target 선택 후 설정 화면으로 이동합니다.
2
Build Target 항목 중 Windows 운영체제를 선택한 경우에 Setup 관련 설정을 확인하고 [Build] 버튼을 클릭합니다.
항목 | 설명 |
---|---|
Program Name | 프로그램 추가/삭제에서 표시되는 프로그램 명입니다.기본값은 프로젝트명으로 설정합니다. |
Build Type | |
Build Type | 운영체제 버전을 선택합니다. |
Setup information | |
Install Location | 앱 설치 파일 실행 시 앱이 설치될 경로를 지정합니다. 운영체제 "Program Files" 폴더 아래에 설치될 경로를 지정할 수 있습니다. 기본값은 "TOBESOFT\Nexacro N\21\{program Name}"입니다. |
Windows [운영체제 버전] | |
32비트, 64비트 중에서 선택한 운영체제 정보만 설정합니다. 실행 환경에 따라 설치 파일명을 변경할 수 있습니다. | |
Setup Filename | 생성할 설치 파일명을 지정합니다. |
Setup Version | 설치 파일 버전을 지정합니다. |
Windows [운영체제 버전] > Configure - Server Path나 Engine Setup Key 변경 시 설정합니다. | |
Server Path | Update Info 항목에서 설정한 Base URL 상대 경로 Setup 배포 경로가 Base URL과 다른 경우 지정합니다. 예를 들어 Base URL 항목은 "UPDATE"로 지정하고 Server Path 항목을 "SETUP_FILE"로 지정한 경우에는 아래와 같이 접근합니다.
|
Engine Setup Key | 엔진 설치 키 (clsid)를 지정합니다. |
항목 | 설명 |
---|---|
Advanced | |
Install Mode | Default: 기본 설치 모드 Silent: 설치 중 대화상자가 나타나지 않고 기본 설정값으로 설치 |
Auto Update | Packing 단계에서 Update Info에 설정한 AutoUpdate 설정보다 우선해서 넥사크로 엔진 자동 업데이트 여부를 지정합니다. 기본값은 "Auto"입니다. "Manual" 항목 지정 시 넥사크로 엔진 자동 업데이트를 처리하지 않습니다. |
Shortcut Type | Desktop : 바탕화면에 바로가기 아이콘을 생성합니다. Start Menu : 시작메뉴에 바로가기 아이콘을 생성합니다. Desktop + Start Menu : 바탕화면과 시작메뉴에 바로가기 아이콘을 생성합니다. Select at Install time: 엔진 설치 시 바로가기 아이콘 생성 위치를 지정합니다. No use : 바로가기 아이콘을 생성하지 않습니다. 기본값은 "Select at Install time"입니다. Install Mode 옵션값이 "Silent"인 경우에는 "Select at Install time"를 사용할 수 없으며 기본값은 "Desktop"입니다. |
Shortcut Icon File | 앱 설치 파일, 실행 및 삭제 프로그램의 아이콘을 변경합니다. 기본값은 넥사크로 아이콘을 사용합니다. |
Splash Image File | 스플래시 화면 이미지를 지정한 파일로 변경합니다. |
Splash Show Message | Default : 기본 메시지 표시 Do not show: 메시지를 표시하지 않음 |
Update Browser | 브라우저 에뮬레이션을 최신 버전으로 업데이트할지를 설정합니다. |
Rename Executable | 실행 프로그램 파일명을 변경합니다. 기본값은 "nexacro.exe"입니다. |
Only One | 같은 키 값을 가진 앱을 중복 실행하지 않도록 설정합니다. |
앱에서 WebBrowser 컴포넌트를 사용하는 경우 Update Browser 옵션으로 설정한 값에 따라 실행되는 브라우저 에뮬레이션 버전이 달라집니다. 사용자 PC에 2개 이상의 앱이 설치된 경우 Update Browser 옵션이 다르면 앱 간의 설정 충돌이 발생할 수 있습니다.
Rename Executable 옵션에서 기본값인 "nexacro.exe" 대신 다른 이름으로 파일명을 지정하면 설치된 앱 간의 설정 충돌을 방지할 수 있습니다.
기본 Engine Setup Key를 그대로 사용하거나 입력칸 오른쪽에 있는 열쇠 모양의 버튼을 클릭하면 Engine Setup Key를 새로 생성할 수 있습니다. 사용자 PC에 여러 개의 앱이 설치되어야 하는 경우에는 Engine Setup Key를 새로 생성하고 따로 관리하는 것을 권장합니다.
업데이트 과정에서 Engine Setup Key를 새로 생성하면 설치된 앱을 업데이트할 수 없습니다.
3
Build Target 항목 중 Android, iOS, macOS 운영체제를 선택한 경우에 AppBuilder 관련 옵션을 설정합니다.
항목 | 설명 |
---|---|
Project information | |
Program Name | 운영체제에 앱 설치 시 표시되는 프로그램명입니다. |
Build Environment | |
TargetProject | 앱빌더 프로젝트를 신규로 생성하거나 기존에 있는 앱빌더 프로젝트를 선택합니다. |
Project URL | 앱을 배포할 URL을 지정할 수 있습니다. 기본값은 AppBuilder에서 자동생성되는 URL입니다. |
Package Name | Package 이름을 표시합니다. |
Version | 파일 버전을 지정합니다. |
Build Type | - Build 선택한 프로젝트를 새로 빌드합니다. 이미 빌드한 경우에는 다시 빌드합니다. - Upload Contents 선택한 프로젝트의 콘텐츠만 업로드합니다. |
Build Library | 프로젝트 빌드 시 적용할 넥사크로 라이브러리를 선택합니다. |
Build Mode | 빌드 모드를 선택합니다. |
Auto Deploy Server | |
Deploy Mode | Deploy 서버 사용 여부를 설정합니다. true 선택 시 Deploy Server를 선택할 수 있습니다. |
Deploy Server | Deploy Mode 항목값을 true 선택 시 앱빌더에 설정한 Deploy Server 목록에서 Deploy 서버를 선택합니다. |
Deploy Directory | Deploy Server에 설정된 경로를 표시합니다. 설정값은 수정할 수 있습니다. |
[운영체제] | |
Setup Filename | 생성할 설치 파일명을 지정합니다. |
Setup Version | 설치 파일 버전을 지정합니다. |
[운영체제 > Advanced] | |
Signing | 프로젝트 빌드 시 적용할 Signing 정보를 지정합니다. |
Plist URL | In-House 업데이트를 처리하기 위한 plist URL 정보를 지정합니다. AppBuilder 서버를 사용하는 경우에는 기본값을 사용하며 별도 배포 서버를 운영하는 경우에 URL 값을 변경할 수 있습니다. iOS에서만 사용합니다. |
Built-in Library | 빌드 시 적용할 32비트, 64비트 공유 라이브러리를 선택합니다. |
User Library | 프로젝트 빌드 시 적용할 User Library를 선택합니다. Android, iOS만 지원하며 macOS는 지원하지 않습니다. |
Icon | 앱 아이콘 이미지 파일을 지정합니다. |
Splash | - Splash Image 앱 실행 시 표시되는 Splash 이미지 파일을 지정합니다. - Scale Type Splash 이미지 크기를 설정합니다. 아래 4가지 옵션 중 하나를 선택할 수 있습니다. > Adjust the aspect ratio. stretch to fit the screen size : 화면 비율 조정. 화면 크기에 맞게 stretch 처리 > Maintain the aspect ratio. expand without blank area : 화면 비율 유지. 빈 영역 없이 확장 처리 > Maintain the aspect ratio. expand to fit : 화면 비율 유지. 크기에 맞게 확장 > Original size : 원본 이미지 크기 - Background Color Splash 영역 배경 색상을 지정합니다. |
Dmg Image | Apple disk image (DMG) 배경 이미지 파일을 지정합니다. macOS에서만 사용합니다. |
Permission | 앱 실행 권한을 지정합니다. Android만 지원하며 iOS, macOS는 지원하지 않습니다. |
Rotation | 앱에서 화면을 세로(Portrait) 또는 가로(Landscape) 로 고정시키거나 고정을 풀고 센서를 활성화(Sensor) 하는 옵션을 선택합니다. |
아이콘, 이미지 파일
운영체제에 따라 지정된 형식에 맞는 파일을 지정해주어야 합니다.
Icon이나 Splash Image 등 이미지 파일을 포함하고 있는 경우에 눈 모양 아이콘 클릭 시 이미지 미리보기 기능을 제공합니다. zip 파일로 여러 이미지 파일을 묶은 경우 오른쪽 아래 [>] 버튼을 클릭해 다음 이미지를 확인할 수 있습니다.
4
[Build] 버튼을 클릭하면 설정에 따라 설치 파일을 생성합니다.
설치 파일 생성이 완료되면 생성된 파일을 확인할 수 있습니다. 운영체제 또는 파일에 따라 QR 코드가 지원되는 경우에는 산출물 선택 시 QR 코드 이미지가 표시되며 그렇지 않으면 산출물 URL만 제공합니다. 빌드 실패 시에는 빨간색으로 표시되며 표시합니다.
항목 | 설명 | |
---|---|---|
1 | Log | 앱 빌더에서 처리한 작업 로그를 표시합니다. 오류가 발생한 경우에는 오류 메시지를 표시합니다. |
2 | Download url | 배포 대상 환경별 설치 파일을 내려받을 수 있는 URL을 표시합니다. 마우스 포인터를 가져가면 오른쪽에 QR 코드 이미지가 표시됩니다. |
3 | Copy url | Download url 값을 클립보드에 복사합니다. |
4 | Save QR Code | QR Code 이미지를 PNG 파일로 저장합니다. |
참고
nexacro.exe 실행 옵션
nexacro.exe 실행 옵션을 아래 표와 같이 지정할 수 있습니다.
옵션 | 설명 |
---|---|
-K | 앱을 구별하기 위한 키값을 문자열로 설정합니다. |
-S | 부트스트랩 경로를 설정합니다. |
-C | 컴포넌트가 설치된 경로를 설정합니다. |
-THR | 엔진 내부 통신 및 기타 Manager 의 쓰레드 수를 숫자로 설정합니다. 쓰레드의 개수는 최소 3개, 최대 10개이며 기본값은 3입니다. |
-SP | 스플래시 이미지 경로를 설정합니다. |
-SM | 스플래시 이미지에 시스템 메시지가 표시되지 않도록 "none" 값을 설정합니다. |
-LF | 앱의 Left 위치 좌푯값을 설정합니다. |
-TP | 앱의 Top 위치 좌푯값을 설정합니다. |
-WD | 앱의 너비를 픽셀 단위 숫자로 설정합니다. |
-HT | 앱의 높이를 픽셀 단위 숫자로 설정합니다. |
-LG | Loading Image 의 경로를 설정합니다. |
-TW | 엔진 내부 Manager 의 쓰레드가 대기할 최대시간을 설정합니다. |
-OO | 동일한 키의 앱의 실행을 한 개만 허용할 지 Boolean 값으로 설정합니다. |
-V | 앱이 실행될 때 추가될 Global 변수를 "변수명:타입=값 변수명:타입=값" 형식으로 설정합니다. 각 변수는 콤마(",")문자로 구분하여 설정합니다. "타입"에 "ev"를 설정 시 Environment 의 Variables 영역에 변수가 추가됩니다. "타입"에 "ec"를 설정 시 Environment 의 Cookies 영역에 변수가 추가됩니다. "타입"을 설정하지 않거나 "av"를 설정 시 Application 의 Variables 영역에 변수가 추가됩니다. |
-SIE | 앱 실행 시 에러가 발생하면 에러 메시지를 표시하고 종료할 지 Boolean 으로 설정합니다. |
-CT | 초기 네트워크가 연결되어 있는지 체크하는 최대 대기시간을 설정합니다. 네트워크가 연결되어 있는지 여부를 앱이 구동되기 전에 체크합니다. 대기시간동안 네트워크가 연결여부가 확인되지 않으면 앱이 종료됩니다. |
-SCR | LayoutManager 에서 사용하기 위한 ScreenID 를 설정합니다. |
-CC | V8 엔진의 CodeCache 기능을 비활성화 하기위해 설정합니다. "NO" 설정 시 CodeCache 기능을 사용하지 않습니다. "AL" 설정 또는 옵션값 생략 시 CodeCache 기능이 활성화 됩니다. |
-AU | 앱이 실행될 때 엔진의 업데이트 여부를 설정합니다. "auto" 설정 시 엔진을 최신버전으로 업데이트합니다. "manual" 설정 시 엔진을 업데이트 하지 않습니다. |
-NC | 로컬 경로의 config 설정 파일을 설정합니다. |
-RPP -brk | NRE 원격 디버깅 시 실행 옵션입니다. |
운영체제 버전별 배포
32비트, 64비트 버전별 설치파일을 생성한 경우 사용자에게 모든 파일의 내려받기 정보를 제공한 후 사용자가 선택해서 내려받을 수도 있고 스크립트를 사용해 운영체제 버전을 확인 후 적절한 링크 정보를 제공할 수 있습니다.
<script type="text/javascript"> var SetupRuntimeName=""; function oninit() { var userAgent = navigator.userAgent; if(userAgent.indexOf("WOW64") != -1 || userAgent.indexOf("Win64") != -1) SetupRuntimeName="NexacroN_SetupRuntime_x64.exe"; else SetupRuntimeName="NexacroN_SetupRuntime_x32.exe"; document.getElementById("test").innerHTML = "<a href='"+SetupRuntimeName+"'>" +SetupRuntimeName+"</a>" } </script> <body onload="oninit()"> Download link -> <span id="test"></span> </body>
32비트 운영체제에서 해당 페이지 접근 시 운영체제 버전을 확인하고 적절한 링크를 제공할 수 있습니다.
스크립트는 설명을 위해 작성된 코드입니다. 운영하는 시스템에 맞게 변경해 적용하실 수 있습니다.
운영체제 변경에 따라 해당 스크립트가 동작하지 않을 수도 있습니다.
단축 아이콘 Bootstrap URL 속성값 변경
사용자에게 설치된 단축 아이콘의 Bootstrap URL 속성값만 변경해서 사용하는 경우 설치된 제품 버전과 배포된 앱 버전이 달라 정상적으로 동작하지 않을 수 있습니다. 임의로 Bootstrap URL을 변경하는 것은 권장하지 않습니다. 다른 앱을 배포할 경우에는 Engine Setup Key, Install Location 값이 다른 설치파일을 생성하고 배포하는 것을 권장합니다.