// original classes

function Animal(name, numLegs) {

    this.name = name;

    this.numLegs = numLegs;

    this.isAlive = true;

}

function Penguin(name) {

    this.name = name;

    this.numLegs = 2;

}

function Emperor(name) {

    this.name = name;

    this.saying = "Waddle waddle";

}


// set up the prototype chain

Penguin.prototype = new Animal();

Emperor.prototype = new Penguin();


var myEmperor = new Emperor("Jules");


console.log( myEmperor.saying ); // should print "Waddle waddle"

console.log( myEmperor.numLegs ); // should print 2

console.log( myEmperor.isAlive ); // should print true

'WEB > javascript' 카테고리의 다른 글

[javascript] 정렬하기  (0) 2014.08.01
json 변환  (0) 2014.06.05

array를 json으로 변경


JSON.stringify(Array);

'WEB > javascript' 카테고리의 다른 글

[javascript] 정렬하기  (0) 2014.08.01
자바 스크립트 상속 구조  (0) 2014.07.05

자바로 프로그램을 완성하고 나서 설치형 파일로 배포 하는것이 엄청 불편하다.

MS 진영에서는 설치 파일을 MS Visual Studio에서 제공하는것으로 알고 있으나, 자바에는 그런 기능이 없다.

그리하여 여러군데를 찾아 배포할 수 있는 파일을 만들어주는 무료 툴을 찾았다.


install factory보다는 강력하고 유명한 배포툴인 인스톨 쉴드만큼의 기능을 제공한다.



일단 홈페이지에서 파일을 다운 받는다.

http://www.jrsoftware.org/isdl.php



중간에 설치에 아래 그림과 같은 설정을 해주어야한다.


다른 파일을 같이 포함하여 파는줄 알고 체크를 해제하였으나, 스크립트에 문법을 포함하겠는지를 물어보는 화면이다.





위와 같이 설치가 완료되면 프로그램을 사용할 수 있다.


간단한 설정 몇가지를 알아본다면.


; 표시는 주석이며, [SETUP] 등 카테고리 마다의 설정이다.

또한 #define을 사용하여 이름을 명명할 수 있다.




; Script generated by the Inno Setup Script Wizard.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!


#define EMSDIR "파일 경로"

#define EMSDIR_OUT "현재 파일위치"


;톰켓위치

#define TOMCAT "{pf}\Apache Software Foundation\Tomcat 7.0"

[Setup]

; NOTE: The value of AppId uniquely identifies this application.

; Do not use the same AppId value in installers for other applications.

; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)

AppId={{1B453729-1A6A-42A3-A386-D5701937489C}

AppName=EMS

AppVersion=1.5

;AppVerName=EMS 1.5


;회사주소

AppPublisher=abc

AppPublisherURL=http://www.abc.com

AppSupportURL=http://www.abc.com

AppUpdatesURL=http://www.abc.com

DefaultDirName={#EMSDIR}

DisableDirPage=yes

DefaultGroupName=EMS

DisableProgramGroupPage=yes

OutputDir={#EMSDIR_OUT}

OutputBaseFilename=EMS

Compression=lzma

SolidCompression=yes



[Files]

;파일 복사 스크립트 recursesubdirs : 하위 디렉토리 까지

;copy DB File

Source: "{#EMSDIR_OUT}\EMS\*"; DestDir: "{#EMSDIR}"; Flags:"recursesubdirs";


;파일 복사 스크립트 recursesubdirs : 하위 디렉토리 까지

;copy tomcat files

Source: "{#EMSDIR_OUT}\tomcat\*"; DestDir: "{#TOMCAT}"; Flags:"recursesubdirs";


;파일 복사 스크립트 recursesubdirs : 하위 디렉토리 까지

;copy serial dll file

Source: "{#EMSDIR_OUT}\serial\*"; DestDir: "{syswow64}"; Flags:"recursesubdirs";


[Languages]

Name: "english"; MessagesFile: "compiler:Default.isl"


[Run] 

;톰켓을 서비스 등록한다.

;set tomcat service to automatic start

Filename: "{cmd}"; Parameters: "/c ""{#TOMCAT}/bin/Tomcat7.exe"" //US/Tomcat7 --Startup=auto"; Flags:"runhidden";


;윈도우 설정인 전원 옵션

;set power option

Filename: "{cmd}"; Parameters: "/c powercfg -change -monitor-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -monitor-timeout-dc 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -disk-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -disk-timeout-dc 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -standby-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -standby-timeout-dc 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -hibernate-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -hibernate-timeout-dc 0"; Flags:"runhidden";


;윈도우 방화벽 제거

;set firewall stop

Filename: "{cmd}"; Parameters: "/c sc stop ""MpsSvc"""; Flags:"runhidden"; 

Filename: "{cmd}"; Parameters: "/c sc config ""MpsSvc"" start= disabled"; Flags:"runhidden"; 


;윈도우 업데이트 방지

;set window update stop

Filename: "{cmd}"; Parameters: "/c sc stop ""wuauserv"""; Flags:"runhidden"; 

Filename: "{cmd}"; Parameters: "/c sc config ""wuauserv"" start= disabled"; Flags:"runhidden"; 


;자바 업데이트 방지

;java update

Filename: "{cmd}"; Parameters: "C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f"; Flags:"shellexec runhidden"; 


[Registry]

;레지스트리 등록, 자바 업데이트 방지

;disable java update

Root: HKLM; Subkey: "SOFTWARE\JavaSoft\Java Update\Policy"; ValueType: dword; ValueName: "EnableJavaUpdate"; ValueData: "0";


;작업 표시줄 없애는 레지스트인데 동작을 안한다 ㅠㅠ.

;not working !!!! - taskbar auto hide

;Root: HKCU; Subkey: "Software\Micros0000000000oft\Windows\CurrentVersion\Explorer\StuckRects2"; ValueType: binary; ValueName: "Settings"; ValueData: "28 00 00 00 ff ff ff ff 03 00 00 00 03 00 00 00 6b 00 00 00 22 00 00 00 00 00 00 00 de 02 00 00 00 04 00 00 00 03 00 00";


;디렉 토리 삭제

[InstallDelete]

Type: filesandordirs; Name: "{#TOMCAT}\webapps\ROOT";






위와 같이 파일 복사, 삭제, 레지스트리 설정, cmd실행 창 제어 등 많은 기능들을 할 수 있다.


이 설정을 컴파일하면 하나의 설치 파일이 생성된다.(.exe)


'기타' 카테고리의 다른 글

[eclipse] camel 표기법변환  (0) 2014.10.26
[이클립스] 주석 설정  (0) 2014.09.02
[이클립스] 프로퍼티 파일 한글 깨짐  (0) 2014.08.23
ai (일러스트파일) png 변환  (0) 2014.08.13
[MAVEN] 명령어  (0) 2014.08.12

+ Recent posts