태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

달력

6

« 2021/6 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
  •  
2012. 7. 25. 00:40

두루인스톨러 셋업 제작툴 공개 DuruInstaller2012. 7. 25. 00:40


두루인스톨러 제작툴 공개


설치프로그램 제작툴


제가 내년초 까지 폐쇄환경에 처하게 되어 거의 인터넷을 못하게 됩니다.

하여 그 기념(?) 으로 그동안, 혼자만 써오던 SetUp 제작툴인 Duru Installer 를 이곳에 공개합니다.

(두루스크립트를 내장하지 않은 버전)


프로젝트 파일은 *.dip 입니다. 간단한 설치 프로그램을 제작할 수 있습니다.


바쁜관계로 이 제품에 대한 피드백은 받지 않습니다.


관심있는분은 받아 보시기 바랍니다.



DuruInstallerTool.7z


Posted by 3LegsCrow::하늘날다 두루물

댓글을 달아 주세요

2011. 5. 14. 13:33

예전에 만들었던 인스톨빌더.. DuruInstaller2011. 5. 14. 13:33


인스톨쉴드 처럼 완전 UI기반(중심)으로 ,,,만들었던 인스톨 빌더 (최적화를 안해서 그렇지 Setup.exe 빌드까지 된다)
지금은 추가작업할 시간없이 몇년째 PC에서 썪고있다..^^


아래는,
쉬운 추세로 가는 대세에 맞게 몇년전 NSIS처럼 초간단하게 만든 두루인스톨러 빌더
(두루에디터 셋업은 이것으로 빌드하여 배포하고 있다)



Posted by 3LegsCrow::하늘날다 두루물

댓글을 달아 주세요

  1. 두루물 2011.05.16 04:31  댓글주소  수정/삭제  댓글쓰기

    이것은 제몸이 좀 한가해지면 공개 예정 입니다.

두루 인스톨러는 2003년경에 처음으로 개발에 들어간 개인적인 프로젝트 였다.물론 꾸준히 한것이 아니었지만..
처음에는 UFO빌더,인스톨빌드라는 예명하에,인스톨쉴드와 같이 UI기반으로 만들었다가 회사일등에 일정을 낼수가 없어 완전하게 개발하지 않은 채 몇년을 또 그대로 방치하고 말았다.
그리고,그 과정에서 내장 스크립트언어의 필요성을 느껴,중간에 착수하였던것이 바로 두루 스크립트 언어의 모태가 되었다.

기존의 UI식 프로젝트 빌드 인터페이스에서 보다 비록 UI는 없어졌지만 간결한 명령어 위주의 스크립트 체제로 변환 하였다.

아래는 실제 두루에디트 설치에 사용된 두루 인스톨러의 프로젝트 파일이다.
귀찮아서 그동안 소스에 FIX하여 빌드하던 것을 외부 파일로 빼냈고 NSIS 와 같은 비슷한 명령어로 구성하였다.
단,프로젝트 파일은 함수기능이 안되므로 동적인 기능을 추가하지 못한다.

이부분은 나중에,시간이 되면 인스톨쉴드같이 별도의 스크립트 언어 영역으로 구현하면 될것이다.
이 부분에 사용된 스크립트 성격의 명령코드는 모두 자작 두루 스크립트(다물 스크립트) 의 일부 소스코드로 구현 한 것들이다.

우선,프로젝트에서는 함수적 언어 호출은 안되지만,#define,#if,#else,#endif,#ifndef,#elif  와 같은 매크로 성격의 전처리기를 지원한다.

/* -------------------------------------------------------------------
  DURU INSTALLER Project Script File(DuruScript)
  This source code is a part of DuruScript developped by me.
  If you Edit more easily,get DURUEDIT at http://duruedit.com freely.
  http://www.durumul.com http://www.duruedit.com http://www.krkim.net
  Author: KRKIM (Kyeoung Rae Kim) (durumul@gmail.com)
  ===================================================================*/

#define INSTALLMODE

#ifdef INSTALLMODE
 #define BUILDMODE "Install"
#else
 #define BUILDMODE "Update"
#endif

;If Install it could be omitted.

Project BUILDMODE

; -------------------------------------------------------------------
; General Setting
; -------------------------------------------------------------------
;ProjectDir [path] ;default is the path located in project file.

ProductName "DuruEdit"
InstallDir "$PROGRAMFILES/$PRODUCTNAME"
#ifdef INSTALLMODE
OutFile "$PROJECTDIR/TestSetup.exe"
#else
OutFile "$PROJECTDIR/Update.exe"
#endif

;This command could not be used on free version.

#ifdef INSTALLMODE
#else
#endif

//LangID File
License 1042 "./DuruEdit/License.rtf"
Inform  1042 "./DuruEdit/Inform.rtf"

#ifdef INSTALLMODE
SFXFile "$DISHOMEDIR/SFXInstall.exe"
#else
SFXFile "$DISHOMEDIR/SFXUpdate.exe"

//For UpdateUrl FTP eg) "ftp://userid:password@domain.com/update/rg"
UpdateUrl "http://tsa.com.ne.kr/update/duruedit"
//Target File to check point if exists a new version on server.
UpdateExe "DuruEdit.exe"
#endif

SetRes TreeBitmap "$DISHOMEDIR/modern.bmp"
SetRes InstallIcon "$DISHOMEDIR/install.ico"
SetRes UninstallIcon "$DISHOMEDIR/uninstall.ico"
SetRes UpdateIcon "$DISHOMEDIR/update.ico"

; -------------------------------------------------------------------
; National Language System Resource
; -------------------------------------------------------------------
SetLang 1033 1042

LangStr 1033 "$UID_UNINSTNAME" "Remove DuruEdit"
LangStr 1042 "$UID_UNINSTNAME" "DuruEdit 제거"

LangStr 1033 "$UID_UPDATENAME" "Update DuruEdit"
LangStr 1042 "$UID_UPDATENAME" "업데이트"

; -------------------------------------------------------------------
; File Group
; -------------------------------------------------------------------

Component "System" Plugin
 TargetGroup "O.S Independent" "$PLUGINDIR"
 TargetFile "./welcome.bmp" WelcomeImage
 TargetFile "./finish.bmp" FinishImage
 TargetFile "./header.bmp" HeaderImage
 ;not support calling custom DLL yet.
 ;TargetFile  "./MyCustom.DLL"
EndComponent

Component "표준설치"
 Component "기본프로그램" "" "" "ReadOnly|Checked"
  TargetGroup "프로그램" "$INSTALLDIR"
  TargetFile  "./DuruEdit/Startup.dll" delete
  TargetFile  "./DuruEdit/DuruEdit.vfo" delete
  TargetFile  "./DuruEdit/DuruEdit.exe"
  TargetFile  "./DuruEdit/DEConfig.dll"
  TargetFile  "./DuruEdit/DuruEdit.dll"
  TargetFile  "./DuruEdit/DuruEdit.jpg"
  TargetFile  "./DuruEdit/DuruFTP.dll"
  TargetFile  "./DuruEdit/DuruXML.dll"
  TargetFile  "./DuruEdit/Splash.dll"
  TargetFile  "./DuruEdit/vfo.dll"
  TargetFile  "./DuruEdit/DEShl.dll"
  TargetFile  "./DuruEdit/DEShl64.dll"
  TargetFile  "./DuruEdit/Update.exe"
  TargetFile  "./DuruEdit/SkinBar.bmp"
  TargetFolder "$INSTALLDIR/nls"
  TargetFile  "./DuruEdit/nls/RC1042.nls"
  TargetFolder "$COMMONAPPDATA/DuruEdit"
  TargetFile  "./DuruEdit/DuruEdit.vfo"
  Description "기본 프로그램을 설치합니다."
 EndComponent
 Component "환경 및 샘플"
  TargetGroup "프로그램" "$INSTALLDIR"
  TargetFile  "./DuruEdit/UpdateLog.txt"
  TargetFile  "./DuruEdit/Example.cpp"
  TargetFile  "./DuruEdit/Example.h"
  TargetFile  "./DuruEdit/FTPDefault.xml"
  TargetFile  "./DuruEdit/History.txt"
  Description "프로그램 실행에 필요한 파일을 설치합니다"
 EndComponent
EndComponent

; -------------------------------------------------------------------
; Start Menu ShortCut Icon
; -------------------------------------------------------------------
ShortCut
 ShortCutFolder "$PROGRAMS/$PRODUCTNAME" "$PRODUCTNAME"
 ShortCutFile   "DuruEdit" "$INSTALLDIR/DuruEdit.exe"
 ShortCutFile   "$UID_UNINSTNAME" "$INSTALLDIR/uninstall.exe"
 ShortCutFile   "$UID_UPDATENAME" "$INSTALLDIR/Update.exe"
EndShortCut

; -------------------------------------------------------------------
; Registry Setting
; -------------------------------------------------------------------
Registry
 SetRegKey "$REGKEY_HKCU/Software/DuruEdit/IDE/MRU"
 SetRegValue "01" "***$INSTALLDIR/UpdateLog.txt"
 SetRegKey "$REGKEY_HKCU/Software/DuruEdit"
 SetRegValue "StartUp" "dword:0000FF00"
 SetRegKey "$REGKEY_HKLM/SYSTEM/CurrentControlSet/Services/SharedAccess/Parameters/FirewallPolicy/StandardProfile/AuthorizedApplications/List"
 SetRegValue "$INSTALLDIR/DuruEdit.exe" "$INSTALLDIR/DuruEdit.exe:*:Enabled:DuruEdit"
 ;SetRegValue "" "aaa" ;기본값 변경시
 
EndRegistry

WriteUninstaller true ;flag is if add to ControlPanel Add/Remove List

;Exec after finishing installation
;Exec       "$INSTALLDIR/DuruEdit.exe" ""

;Exec only Pre-uninstall

ExecUninst "$INSTALLDIR/DuruEdit.exe" "-uninstall"

EndProject
 
 


위 화면은 두루인스톨러를 실행하여 나타나는 위 프로젝트 파일의 컴포넌트 명령의 결과이다.
또한, 트리 컨트롤을 커스터 마이징하여 우측에 크기를 보여주는 컬럼란을 추가 하였다.
Posted by 3LegsCrow::하늘날다 두루물

댓글을 달아 주세요

2010. 9. 30. 10:43

DuruInstaller Screen Shot DuruInstaller2010. 9. 30. 10:43

자작 두루인스톨러 메인 스크린샷
(언젠가 두루스크립트=다물스크립트 적용,내장 예정)
현재 두루인스톨러가 자체적으로 언인스톨러를 자동 생산하여 함께 배포됨. 두루에디터 설치프로그램에 사용중.
자매품 두루업데이트도 있음.

사용자 삽입 이미지
[이것은 Korea 위상을 드높이 널리 알리는 다물 프로젝트의 일환입니다]
Posted by 3LegsCrow::하늘날다 두루물

댓글을 달아 주세요