Latest Posts Recent Comments 문의사항 신고하기 이용안내 이벤트 포인트 리스트 공지사항 관리자문의

공지사항

고정공지

(자유게시판에서 질문 금지) 질문하신 유저는 통보 없이 "계정정리" 될수 있습니다.

놀이터 일간 추천 베스트

놀이터 일간 조회 베스트

URL 링크 : https://portableapps.com/manuals/Portabl...index.html 

우선 아래 PortableApps 빌더 를 받습니다.

PortableAppsLauncher_repack_V2.7z_빌더 제가 사용하기 편하게 수정된 빌더입니다.

NSIS3 로 변경, 스플래시 자동 스톱, 원드라이브 저장 옵션, 일부 플러그인 함수등등 추가된 버전입니다. 


다운 받으면 뒤에 이름 _빌더 지우고 압축을 푸시면 됩니다. (크롬이 설정 파일을 막는 이유로 이름 바꿈...)

작업 경로가 길면 오류가 날 수 있으니 가능하면 최상위 폴더에 풀어주세요. 예: C:\PortableGenerator


오리지날은 아래 주소에서 다운 가능합니다.

https://portableapps.com/apps/development/portableapps.com_launcher



그럼 시작하겠습니다.

강좌용 프로그램은 우선 간단한 Master PDF 로 하겠습니다.


우선 적당한 폴더에 PortableApps 용 템플릿 (Work.7z_템플릿 ) 을 풀어 넣습니다.

(Work.7z_템플릿을 Work.7z 로 이름을 바꾸고 압축을 푸시면됩니다.)


참고로 저는 PortableApps\Work\ 에 풀어 사용합니다. 강좌도 이 경로라고 가정하겠습니다.


템플릿 App\AppInfo 폴더로 이동하여 아이콘 파일인 appicon.ico 은 적당히 바꾸고

가장 중요한 appinfo.ini 부터 수정해 봅시다. (아래 항목은 빠짐없이 적어주셔야 컴파일이 됩니다.)

[Details]

Name=Master PDF   ;; 프로그램 이름을 적습니다.

AppId=MasterPDFPortable   ;; 프로그램의 포터블 파일명입니다.

Publisher=Copyright (c) Code Industry Ltd. All rights reserved   ;; 프로그램 제작사 입니다.

Homepage=www.code-industry.net       ;; 프로그램 제작사 홈페이지 입니다.

Description=multifunctional PDF Editor   ;; 프로그램의 설명을 적습니다. (이건 생략 가능)

Language=Multilingual  ;; 지원 언어 (제대로 LocaleName 을 적어야 합니다. Locale.txt 참고)


[Version]

PackageVersion=5.1.68  ;; 프로그램 버전을 적습니다.



이제 Master PDF 를 설치해봅시다. 그전에 참고...

설치전 기록은 꼭 하셔야 만들기가 조금은 더 수월해집니다.

설치 기록을 확인하기 위해서 전 2가지 방법을 사용합니다.


첫째 Revo Uninstaller 를 사용하여 기록하는 방법

첫째 방법은 간단합니다 위 프로그램을 사용해 설치하면 자동으로 기록해줍니다.


제목 없음 01.png




두번째는 RegCool 로 설치전 스냅샷을 저장하고 설치후 그걸 비교하는 방법입니다.

첫째 방법은 간단하니 넘어가고 좀 생소한 두번째 방법을 설명하겠습니다.


001.PNG



RegCool 을 실행하고 도구 메뉴에 [레지스트리 스냅샷] 을 선택합니다.


위 처럼 나오면 [샷1 만들기]로 현재 레지스트리를 저장합니다.

그후 Master PDF 설치 하시고 설치가 완료되면 [샷2 만들기] 를 눌러 다시 레지스트리를 저장합니다.


그럼 [레지스트리 비교] 버튼이 활성화 되고 눌러서 비교를 하면됩니다.


프로그램에 따라서 첫째 방법이 좋을때도 혹은 두번째 방법이 좋을때도 있습니다.


이 부분을 설명하기가 좀 애매한게 

프로그램마다 저장 방법 저장 위치 등 너무 천차만별이라서 딱 이거다 할수가 없네요.

사실 포터블은 이런거 찾는게 전부라고 할 수 있는데 자주 만들어 감을 익히는 방법밖에 없습니다.


그래서 중요하게 살펴보아야할 곳을 알려드리겠습니다. 


프로그램과 관련해 살펴보아야 할 폴더

C:\Program Files

C:\Program Files\Common Files

C:\Program Files (x86)

C:\Program Files (x86)\Common Files


프로그램 설정 그리고 부속 파일과 관련해 살펴보아야 할 폴더

C:\ProgramData

C:\Users\<유저>\AppData\Local

C:\Users\<유저>\AppData\Roaming


프로그램 설정과 관련해 살펴보아야할 레지스트리

HKEY_CURRENT_USER\Software

HKEY_LOCAL_MACHINE\SOFTWARE



이렇게 각각의 파일 위치와 레지스트리 정보를 확인 했으면 본격적으로 만들어 봅시다.


일단 확인한 바로는


설정은 레지스트리 HKCU\Software\Code Industry\Master PDF Editor 5

Master PDF 설치는 C:\Program Files 폴더에

부속 파일은 %LOCALAPPDATA%\Master PDF Editor 폴더에

이렇게 확인되었습니다.



Master PDF 설치 폴더의 파일을 App\MasterPDF 로 복사해 옵니다.


그럼 폴더 구조가 이렇게 됩니다.

002.PNG



이제 App\AppInfo\Launcher 폴더로 이동해 설정파일 MasterPDFPortable.ini 파일을 수정해봅시다.

참고: 설정 파일 이름은 "프로그램의 포터블 파일명" (AppId) 과 같아야하고 확장자는 .ini 입니다.


[Launch]

ProgramExecutable=MasterPDF\MasterPDFEditor.exe   ;; 실행할 파일명입니다.

DirectoryMoveOK=yes   ;; 포터블 위치가 이동할때 이전 위치를 저장해두고 쓸수있게 합니다.

SupportsUNC=yes   ;; UNC 네트워크 위치를 사용가능하게 해줍니다.


[Language]

Base=ko    ;; 언어 설정입니다.


[LanguageStrings]

en=en_en  ;; 언어 설정의 문자형입니다. (프로그램 언어 치환에 사용됩니다)

ko=ko_kr


[Activate]

Registry=true     ;; 레지스트리 사용을 가능하게합니다.

OneDrive=false   ;; 설정을 원드라이브에 저장할지 설정합니다.

Splash=false      ;; 스플래시 화면을 보여줄지 설정합니다.

;; 스플래시 화면은 App\AppInfo\Launcher\splash.jpg 가 존재하면 그 이미지를 보여줍니다.



;; 이 설정들은 필요한 경우 data 폴더에 저장됩니다.

;; 해당 레지스트리를 종료시 백업 시작시 복구 합니다.

[RegistryKeys]

MasterPDF=HKCU\Software\Code Industry\Master PDF Editor 5


;;  시작할때 해당 레지스트리 항목을 수정합니다.

;;  REG_SZ: 는 문자형 REG_DWORD: 는 숫자형입니다. 

[RegistryValueWrite]

;; 경로는 HKCU\...\Master PDF Editor 5\ 이고 항목은 check_updates 값은 0 입니다. 

HKCU\Software\Code Industry\Master PDF Editor 5\check_updates=REG_DWORD:0


;; %PAL:LanguageCustom% 이 값은 언어 문자형 그러니까 en_en 이 됩니다.

HKCU\Software\Code Industry\Master PDF Editor 5\lang=REG_SZ:%PAL:LanguageCustom%


;; %PAL:UserName% 는 조금뒤에 설명할 Custom.nsh 파일에서 생성된 유저명이 적힌 변수입니다.

HKCU\Software\Code Industry\Master PDF Editor 5\user_name=REG_SZ:%PAL:UserName%


;; %LOCALAPPDATA% = 윈도우 환경변수로 "C:\Users\<유저>\AppData\Local" 경로입니다.

HKCU\Software\Code Industry\Master PDF Editor 5\tesseract_ocr_path=REG_SZ:%LOCALAPPDATA%\Master PDF Editor\tessdata\


;; 프로그램이 종료될때 삭제할 레지스트리입니다. 앞에 숫자는 순서대로...

[RegistryCleanupForce]

1=HKCU\Software\Classes\Applications\MasterPDFEditor.exe

2=HKCU\Software\Classes\MasterPDFEditor5.Document

;; 탐색기 PDF 파일 우측 메뉴에 등록되는 메뉴를 종료시 삭제 하는 레지스트리 (강좌 아래에 추가 설명)

3=HKCU\Software\Classes\SystemFileAssociations\.pdf\shell\MasterPDFEditor5.Document

4=HKCU\Software\Classes\SystemFileAssociations\.xps\shell\MasterPDFEditor5.Document


;; 프로그램이 종료될때 해당 레지스트리가 비어있으면 삭제합니다.

[RegistryCleanupIfEmpty]

1=HKCU\Software\Code Industry\Master PDF Editor

2=HKCU\Software\Code Industry


;; 프로그램 부속 파일이 있는 경로를 종료시 백업 시작시 복구 합니다. 

[DirectoriesMove]

MasterPDF=%LOCALAPPDATA%\Master PDF Editor


;; 프로그램이 종료될때 삭제할 폴더입니다.

[DirectoriesCleanupForce]

;; 앞에 ; 은 주석이란 말입니다. (주석은 실행시엔 해석(실행)을 안합니다)

;1=%LOCALAPPDATA%\..\LocalMaster PDF Editor



이 정도로 하고 이제 빌드해 봅시다.


PortableAppsLauncher\PortableGenerator.exe 를 실행합니다.

003.PNG


004.PNG


템플릿 파일들이 있는 작업 폴더를 선택합니다. 

템플릿 파일이 Work\App 에 있다면 Work\ 폴더를 선택하시면 됩니다.


그럼 Work\ 폴더에 빌드된 MasterPDFPortable.exe 가 생성됩니다.

실행해 봅시다.


잘 실행되는데 설정을 보면 이런데가 있군요.


005.PNG



주석에 작성자 유저명 ...

이걸 실행한 컴퓨터마다 해당 유저명으로 표시해 주고 싶습니다.


그리고 프로그램을 실행한 후 부터 탐색기 PDF 파일 우측 메뉴에 자동으로 메뉴가 등록되는데


006.PNG


이것도 없애고 싶습니다.


이럴때 사용하는게 Custom.nsh 파일입니다.

이 파일은 .ini 로 해결할수 없는 여러가지를 해결해줍니다.

참고: PortableAppsLauncher\Other\Source 폴더에 사용 예제가 많으니 살펴보시면 좋습니다.



우선 App\AppInfo\Launcher\Custom.nsh 파일을 만들어 줍니다.

그리고 다음과 같이 편집합니다.

${SegmentFile}


;; 프로그램이 시작될때 실행할 코드들

${SegmentPrePrimary}


  ;; 여기에 코드 작성


!macroend


;; 프로그램이 종료될때 실행할 코드들

${SegmentPostPrimary}


  ;; 여기에 코드 작성


!macroend



위에 작성된것이 기본 템플릿입니다.


이제 필요한 코드를 작성해봅시다.


${SegmentFile}


;; 프로그램이 시작될때 실행할 코드들

${SegmentPrePrimary}


        ;; 시작할때 유저명을 가져오는 코드입니다.


        ;; 윈도우 환경 변수 %HOMEPATH% 를 가져옵니다.

         ExpandEnvStrings $0 "%HOMEPATH%"

        ;; %HOMEPATH% 에서 유저 이름만 걸러냅니다.

         ${GetFileName} $0 $R0

        ;; PAL:UserName 변수에 유저 이름을 저장합니다.

        ;; 이후 설정 파일인 .ini 에서 %PAL:UserName% 을 사용할 수 있습니다.

         ${SetEnvironmentVariablesPath} PAL:UserName $R0


!macroend


;; 프로그램이 종료될때 실행할 코드들

${SegmentPostPrimary}


  ;; 여기에 코드 작성


!macroend



그리고 종료할때 탐색기 PDF 파일 우측 메뉴를 삭제하는 코드는 .ini [RegistryCleanupForce] 를 사용합시다.

위에서 작성한 MasterPDFPortable.ini 참고...

;; 프로그램이 종료될때 삭제할 레지스트리입니다.

[RegistryCleanupForce]

1=...생략

2=...생략

;; 탐색기 PDF 파일 우측 메뉴에 등록되는 메뉴를 종료시 삭제 하는 레지스트리

3=HKCU\Software\Classes\SystemFileAssociations\.pdf\shell\MasterPDFEditor5.Document

4=HKCU\Software\Classes\SystemFileAssociations\.xps\shell\MasterPDFEditor5.Document



이제 PortableAppsLauncher\PortableGenerator.exe 를 실행하여 다시 빌드하면 포터블 완성입니다.


이번 강좌는 비교적 쉬운 프로그램으로 했습니다.

다음 기회가되면 좀더 어렵고 고급 기능(DefaultData, FileWrite 등등)이 필요한 강좌를 써보도록 하겠습니다.



참고 사항

간혹 프로그램에 따라서 런타임 파일이 필요한 프로그램이 있습니다.

이건 만들땐 잘 실행되는데 윈도우 새로 설치한 다른컴 에선 실행 안되면 대부분 이 런타임 파일이 없는겁니다.

이땐 필요한 런타임 파일을 App\MasterPDF(프로그램이있는폴더) 에 넣어주면됩니다.

보통 런타임 파일은 msvcp1xx.dll, msvcr1xx.dll, vcruntime140.dll 이런것들이 있습니다.

이 런타임에 대한 좀더 자세한 사항은 다음 기회에...



참고 사이트들

NSIS 도움말: http://nsis.sourceforge.net/Docs/

플러그인들 : http://nsis.sourceforge.net/Category:Plugins

portableapps 도움말: https://portableapps.com/manuals/PortableApps.comLauncher/index.html

자료만 받아갈줄 아는 회원님들께, 개발자님들에게 최소한의 경우는 우리가 피드백으로 보답하는 겁니다

문제가 있던 없던 그동안 고생하신 것을 생각하여 피드백 작성을 부탁 드립니다
­

의견쓰기::  상업광고, 인신공격,비방, 욕설, 아주강한음담패설등의 코멘트는 예고없이 삭제될수 있습니다. 회원정리 게시판

profile

드림컴

2018.10.25 20:14
가입일: 2016:05.27
총 게시물수: 13
총 댓글수: 220

멋진강좌 감사합니다.

profile

Ruby

2018.10.26 13:50
가입일:
총 게시물수: 1
총 댓글수: 48

수고하셨습니다.

profile

풍선맨

2018.10.27 05:54
가입일: 2018:10.27
총 게시물수: 14
총 댓글수: 29

자세한 글 감사합니다~

profile

행복한나무

2018.10.28 10:53
가입일: 2018:10.17
총 게시물수: 1
총 댓글수: 5
소중한 강좌 정말 감사드립니다.!
profile

달림이

2018.10.29 07:34
가입일: 2015:11.28
총 게시물수: 823
총 댓글수: 7588

great expert of you . Gooooooood.  

Let's study.  all of OhMae


profile

가치

2018.10.29 13:02
가입일: 2018:03.21
총 게시물수: 0
총 댓글수: 19

추천에 한표 했어요

강좌 2탄도 기대합니다

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
389 기타 XBox 360 유선 패드 유선불량은 자가수리로... file + 6 야고비다 07-05 1842
388 일반 윈도우 활용하시기에 좋은 팁 혹시나해서 올려봅니다. + 31 솔이 07-04 1104
387 일반 IE에서 구글드라이브 접속 시 '로그인하지 않음' 무한반복현상 해결 file + 12 상어고기 07-02 1590
386 PCTip 디스플레이 드라이버가 응답을 중지하고 복구에 대해서.... + 10 야고비다 07-01 429
385 정보 New CorelDRAW Graphics Suite 2017 CDGS2017EFSTPMB - FULL VERSION For Windows file + 4 구피 07-01 290
384 네트워크 공유기 교체 후 확인 점검 사항 + 18 Briockeo 07-01 874
383 윈도우 Windows 탐색기의 탐색창에서 휴지통을 추가하는 방법 file + 6 Mania 07-01 440
382 정보 hit 윈도우10 에서 코렐드로우사용할때 file + 13 구피 06-30 3155
381 모바일 레이싱 게임용 휠, 핸들 조이스틱 만들기! + 7 매니안 06-29 668
380 모바일 Upgrade iPhone 6S 16GB Storage to 128GB + 6 매니안 06-29 216
379 PCTip hit FX8300 4.2기가 오버클럭 기가바이트970A-D3P rev2.0 기준 file + 4 썬키스트 06-29 2553
378 유틸리티 winrar 자동풀림 만들때 실행명령 순서대로 되게하기 file + 17 손뉨 06-26 531
377 윈도우 6월 업데이트 이후 IE에서 인쇄 안되는 문제해결 + 11 미소체리 06-26 436
376 유틸리티 hit Avira(아비라) 백신 쾌적하게 사용하기 file + 18 Addi 06-25 3622
375 PCTip CPU오버클럭하기 Amd AM3+ 기가바이트 기준 + 8 썬키스트 06-24 428
374 일반 6월1일 이후 바이두 로그인 6/23 19:50 현재 전화인증 + 6 담비 06-23 729
373 PCTip 제가 애용하는 J210 케이스에 치명적인 약점이 있네요.(。╯3╰。)해결방법은,, + 6 Op 06-22 394
372 윈도우 하드 드라이브의 일련 번호 찾기 file + 12 Mania 06-21 542
371 윈도우 Windows 10의 작업표시줄 시스템시계에서 초 나오게 하는 방법 file + 24 Mania 06-20 1023
370 윈도우 Windows 10에서 글꼴 캐시를 다시 작성하는 방법 + 13 Mania 06-20 1569
369 관리/보안 회사에서 메일로 랜섬웨어에 당한 경험. + 16 namu 06-17 530
368 일반 Win10_ms-settings[URI 스키마] - 제어판의 각 항목별 바로가기 file + 33 동자승 06-10 1246
367 윈도우 XP 보안업데이트 방법 + 15 Shalom 06-09 655
366 기타 바이두 인증관련입니다.... + 21 나연파파 06-08 754
365 일반 Acrobat DC를 이용한 PDF문서의 글꼴 윤곽선처리(아웃라인) file + 14 교정치료 06-05 879
364 일반 액세스 권한 OnOff Registry file + 45 우세바리 05-29 1041
363 윈도우 설정창에서 게임 설정 숨기기 + 9 Mania 05-28 412
362 네트워크 6월1일 이후 바이두 로그인 불가능에 대해.... + 18 카니발 05-28 796
361 모바일 삼성브라우저 apk 다운로드 사이트 + 18 제임스리 05-27 804
360 윈도우 윈도우10 기본 앱 제거 프로그램 file + 69 비원이 05-25 1897
359 윈도우 윈도우 8 8.1 10 에서 F8 안전모드 적용법 CMD 첨부 file + 46 건강하고행복하게 05-24 1401
358 윈도우 윈도우10 바탕화면 슬라이드쇼 간격 세부 조정 file + 9 비원이 05-24 1059
357 윈도우 hit 하드디스크 소음 줄이기 + 29 孤松 05-21 2119
356 윈도우 Win+X 또는 시작메뉴+우클릭 메뉴 명령프롬프트로 변경하기 + 21 Mania 05-20 897
355 유틸리티 데스크탑 검색 프로그램 + 20 발자욱 05-20 657
354 관리/보안 노트북에 달린 웹캠, 꼭 가려야하는 이유 + 21 건강하고행복하게 05-19 924
353 일반 Notebook[Setting]에 필요한 것들 file + 63 동자승 05-19 1190
352 일반 Key Lock Manipulator[평션키] file + 6 동자승 05-19 486
351 일반 Shutdown[종료,재부팅관련] exe 모음입니다. file + 37 동자승 05-18 959
350 윈도우 윈도우 레지스트리 모음입니다. file + 49 동자승 05-18 1822
349 일반 난 포토샵이 싫어용 + 25 하ㅇ룽 05-16 772
348 윈도우 랜섬웨어 대응 포트 차단 레지(SMB에 사용포트) 해지 레지추가 file + 61 한세 05-15 1428