Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2025/11 »
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

 
 

ThinApp(Thinstall) 정리

Portable Life | 2009. 4. 4. 16:54 | Posted by 99%
http://www.thinstall.com/
틴스톨은 위 사이트에서 아이디 등록정도하고 받은 비인증프로그램을
압축풀어버리고선 과자만 먹이면 된다;;

VMWare ThinApp v4.0.2.3089_EN(인스톨+로고제거)
VMware ThinApp v4.0.0-2200

Thinstall 무작정 따라하며 처음으로 사용해보기
Thinstall 로 본격적으로 무설치 프로그램 만들기
Thinstall 을 파일패커처럼 사용해보자~
Thinstall 문서 저장이 안돼요???
Thinstall 이용한 나만의 가상 시스템 만들기
[왕일걸]Sandbox와 Thinstall 제작 프로그램 관리

[푸시켓] Thinstall 언패킹 해보자
[USBUS]Thinstall 언패킹 해보자 SPI v1.0 // Save unPack Info(SPI) v1.0 for Thinstall v3.xxx
[푸시켓] Thinstall을 파일 패커처럼 사용하자 GUI 버전 // Thinstall Direct Packer v0.1
sbmerge 를 이용해보자~ // sbmerge GUI (For Thinstall sandbax merge)
[때꿍] 생성 파일의 Thinstall 정보를 가지고 놀자 // Thinstall등록정보제거Patch
ThinstallHelper v2.2.1.0 // Package.ini관리

VMWare ThinApp v4.0.2.3089(로고제거방법)
ThinApp 4.0.1.2866 의 로고 변경하기
ThinApp(Thinstall)로 만든 프로그램 실행시에 팝업창 뜨지 않게 하기

Thinapp로 휴대용 프로그램 만들기
재미없는 영화 - 감독 싸나이, 주연 Thinstall (한글자막) - 틴스톨 동강
포터블 만들어보자 -[틴스톨 제작강좌]



작업순서
1. Invantory Name설정, USB타입체크, Fast선택
2. 캡쳐후 정상적으로 되는것 확인하고 파일정리작업(용량 줄이기)
3. ThinstallHelper로 Package.ini설정 확인 및 폴더 확인
4. SPI로 언팩킹 준비

5. 제작자 표시 등 확인 작업
-> Save unPack Info(SPI) v1.0
6. 틴스톨 제작 속성 제거
-> ThinstallHelper

Package.ini 편집
-> ThinstallHelper를 사용하면 편하다.

[Compression]
CompressionType=Fast
[Isolation]
DirectoryIsolationMode=Merged
[BuildOptions]
SanboxName=Thinstall 
-> 설정값을 저장하고 써야하는 프로그램은 샌드박스를 가지고 있는게 더편하다.
똑같은 이름보다는 초기 프로그램이름 그대로 두는게 더편한것 같다.
Sandboxpath=.
RemoveSandboxOnExit=1 -> 설정값 자동 삭제를 원하면..
SandboxRemovableDisk=1

Icon=%SystemSystem%\cmd.ico //아이콘 지정하기(실행파일을 지정할수도 있음 도움말 볼것)

SPI(Save unPack Info)로 소스 꼭 풀수 있도록..
-> ReadOnlyData=bin\Package.ro.tvr 이렇게 설정된 메인을 젤 위쪽으로 올려놔야 인식을 잘한다.
   그리고 SIP로 정보를 저장해도 %drive_c%가 없으면 작업루트 폴더(
Package.ini가 있는 폴더)에 생기므로 만들어서 복사해준다.
-> 한글, 오피스같은 큰파일은 제대로 안풀리는거 같다.. 확인 꼭 할것.

속성에 제작자표시(Package.ini)
[Universal Extractor.exe]
Source=%PorgramFilesDir%Universal Extractor\UniExtract.exe
ReadOnlyData=bin\Package.ro.tvr
Version.#포터블 제작자 =99%
Version.#포터블 제작일 =2009년4월4일
속성에서 기호,숫자 등의 순이 제일 위에 나타납니다.그래서 앞에 #의 기호를 붙였기 때문에 제일 상단에 위치..
                                                  Version.원하는 문구 입력(좌측제목)=원하는 문구입력(우측목록)


실행시 샌드박스 찾는 순서
-> 샌드박스 Path를 .이나 USB타입으로 했을 경우는 3번은 생략, 순서대로 찾아도 없으면 자동 생성됨
1. 같은 폴더에 샌드박스명
2. 같은 폴더에 Thinstall폴더안에 샌드박스명
3. C:\Documents and Settings\사용자계정이름\Application Data\Thinstall 폴더에서 샌드박스명
(Application Data폴더는 는 숨김폴더)

:
기본 사용법

CString
CString str;
str.Format("%s%03d", szSomeVar, nSomeVar);

타입 안정성을 중요시하는 C++ 에서는 안타깝게도 CString의 Format 계열 함수가 제공 되지 않는다.
그래서 버퍼를 잡아 C의 런타임함수인 sprintf 함수를 사용하는수 밖에 없다.
그러나 C++에서는 stream 객체가 있으므로 sprintf 보다 우아(?) 하게 사용 할수 있다.

#include <sstream>로 사용할수 있으며 input/output/ input&output 버전이 따로 존재한다.

stringstream  in & out
ostringstream out
istringstream in

유니 코드 버전은 위의 클래스 네임에 w만 앞쪽에 붙여 주면되고
stringstream 내의 함수 중에 str() 멤버 함수로 string 클래스의 객체와 같이 연동해서 쓸 수 있다.

STL
#include <string>
#include <sstream>
#include <iomanip>
 
using namespace std;
ostringstream strStream;
strStream << szSomeVar << setw(3) << setfill('0') << nSomeVar;
string str = strStream.str();

BOOST
#include <boost/format.hpp>
#include <string>
 
std::string someString;
someString = boost::str(boost::format("%s%03d") % szSomeVar % nSomeVar);

CString의 Format에 해당하는 STL 코드와 BOOST 코드


직접 구현하기

1. 코드프로젝트
STL Format

CString의 Format같은 기능을 함수로 구현해 놓은게 있다.
근데 VC6에선 제대로 컴파일이 안된다. 우선 string의 clear는 stlport에는 없다.

2. 권진호님
sprintf 와 string 과의 만남

3. codein.co.kr

#define _MAX_CHARS 8000

int Format(std::string& txt, const TCHAR* szFormat,...)

{ 

    std::vector<TCHAR> _buffer(_MAX_CHARS);

    va_list argList;

    va_start(argList,szFormat);

#ifdef _UNICODE

    int ret = _vsnwprintf(&_buffer[0],_MAX_CHARS,szFormat,argList);

#else

    int ret = _vsnprintf(&_buffer[0],_MAX_CHARS,szFormat,argList);

#endif

    va_end(argList);

    txt.assign(&_buffer[0],ret);

    return ret;

}


4. 본인은 CString의 FromatV함수로 간단히 구현했음.  차라리 CString을 사용하는게 낫지 않냐고 하시면..
내부 구현은 나중에 제대로 테스트후 적용해도 된다. ㅋ

UINT StrPrintf( string& rstr, const char *pFmt, ...  )

    va_list args;
    va_start(args, pFmt);
   
    CString csMsg;
    csMsg.FormatV(pFmt, args);
    rstr = csMsg;
   
    va_end(args);
    return rstr.length();
}


'프로그래밍 > C, C++' 카테고리의 다른 글

boost  (0) 2009.09.25
stringstream 을 사용한 파일 읽기 사용 예제  (0) 2009.05.12
ASCII 문자 코드  (0) 2009.04.15
STLport 설치 및 사용 For VC6  (0) 2009.04.06
:

How to Thinstall a .NET 2.0 Application

Portable Life | 2009. 3. 20. 17:29 | Posted by 99%
Thinstall에 포함된 도움말에 있던 내용이다.
http://www.thinstall.com/demos/dnet20/

thinstall을 사용해봤는가?
닷넷이 없이도 저렇게 실행할수 있다니..

'Portable Life' 카테고리의 다른 글

mRemote,원격데스크탑 복사 기능 설정  (0) 2009.11.17
Firefox(파이어폭스)  (0) 2009.10.06
AutoIt 3.1.0 소스코드  (0) 2009.05.13
ThinApp(Thinstall) 정리  (0) 2009.04.04
TheWorld2.4 & 알툴바(그리고 ActiveX)  (0) 2009.03.20
: