updated zip2exe to 2.0b0 standards
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1296 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
9c53f6b822
commit
d6a44dcb03
3 changed files with 55 additions and 47 deletions
|
@ -15,8 +15,8 @@ HINSTANCE g_hInstance;
|
||||||
HWND g_hwnd;
|
HWND g_hwnd;
|
||||||
HANDLE g_hThread;
|
HANDLE g_hThread;
|
||||||
char g_cmdline[1024];
|
char g_cmdline[1024];
|
||||||
char g_makensis_path[MAX_PATH];
|
|
||||||
int g_extracting;
|
int g_extracting;
|
||||||
|
int g_bzip2;
|
||||||
int g_zipfile_size;
|
int g_zipfile_size;
|
||||||
|
|
||||||
char *g_options="";//"/V3";
|
char *g_options="";//"/V3";
|
||||||
|
@ -420,11 +420,15 @@ void makeEXE(HWND hwndDlg)
|
||||||
if (!fp)
|
if (!fp)
|
||||||
{
|
{
|
||||||
MessageBox(hwndDlg,"Error writing .NSI file",g_errcaption,MB_OK|MB_ICONSTOP);
|
MessageBox(hwndDlg,"Error writing .NSI file",g_errcaption,MB_OK|MB_ICONSTOP);
|
||||||
|
PostMessage(g_hwnd,WM_USER+1203,0,0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GetDlgItemText(hwndDlg,IDC_INSTNAME,buf,sizeof(buf));
|
GetDlgItemText(hwndDlg,IDC_INSTNAME,buf,sizeof(buf));
|
||||||
|
fprintf(fp,"SetCompressor %s\n",g_bzip2?"bzip2":"zlib");
|
||||||
|
fprintf(fp,"AllowRootDirInstall true\n");
|
||||||
fprintf(fp,"Name `%s`\n",buf);
|
fprintf(fp,"Name `%s`\n",buf);
|
||||||
fprintf(fp,"Caption `%s Self Extractor`\n",buf);
|
fprintf(fp,"Caption `%s Self Extractor`\n",buf);
|
||||||
|
fprintf(fp,"InstallButtonText Extract\n");
|
||||||
GetDlgItemText(hwndDlg,IDC_OUTFILE,buf,sizeof(buf));
|
GetDlgItemText(hwndDlg,IDC_OUTFILE,buf,sizeof(buf));
|
||||||
fprintf(fp,"OutFile `%s`\n",buf);
|
fprintf(fp,"OutFile `%s`\n",buf);
|
||||||
GetDlgItemText(hwndDlg,IDC_INSTPATH,buf,sizeof(buf));
|
GetDlgItemText(hwndDlg,IDC_INSTPATH,buf,sizeof(buf));
|
||||||
|
@ -504,8 +508,36 @@ void makeEXE(HWND hwndDlg)
|
||||||
fprintf(fp,"SectionEnd\n");
|
fprintf(fp,"SectionEnd\n");
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
wsprintf(g_cmdline,"\"%s\" %s \"%s\"",g_makensis_path,g_options,nsifilename);
|
|
||||||
|
|
||||||
|
char g_makensis_path[MAX_PATH];
|
||||||
|
char *p=g_makensis_path;
|
||||||
|
GetModuleFileName(g_hInstance,g_makensis_path,sizeof(g_makensis_path));
|
||||||
|
while (*p) p++;
|
||||||
|
while (p >= g_makensis_path && *p != '\\') p--;
|
||||||
|
strcpy(p+1,"makensis.exe");
|
||||||
|
|
||||||
|
WIN32_FIND_DATA fd;
|
||||||
|
HANDLE h=FindFirstFile(g_makensis_path,&fd);
|
||||||
|
if (h==INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
if ((p-g_makensis_path>4)&&(tolower(*(p-1))=='n')&&(tolower(*(p-2))=='i')&&(tolower(*(p-3))=='b')&&(*(p-4)=='\\'))
|
||||||
|
{
|
||||||
|
p -= 4;
|
||||||
|
strcpy(p+1,"makensis.exe");
|
||||||
|
h=FindFirstFile(g_makensis_path,&fd);
|
||||||
|
if (h==INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
MessageBox(hwndDlg,"Error finding makensis.exe.",g_errcaption,MB_OK|MB_ICONSTOP);
|
||||||
|
PostMessage(g_hwnd,WM_USER+1203,0,0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (h!=INVALID_HANDLE_VALUE) FindClose(h);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
wsprintf(g_cmdline,"\"%s\" %s \"%s\"",g_makensis_path,g_options,nsifilename);
|
||||||
|
|
||||||
DWORD id;
|
DWORD id;
|
||||||
g_hThread=CreateThread(NULL,0,ThreadProc,0,0,&id);
|
g_hThread=CreateThread(NULL,0,ThreadProc,0,0,&id);
|
||||||
|
@ -516,7 +548,7 @@ void makeEXE(HWND hwndDlg)
|
||||||
BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
static int ids[]={IDC_SZIPFRAME,IDC_BROWSE,IDC_ZIPFILE,IDC_ZIPINFO_SUMMARY,IDC_ZIPINFO_FILES,IDC_OFRAME,IDC_INAMEST,
|
static int ids[]={IDC_SZIPFRAME,IDC_BROWSE,IDC_ZIPFILE,IDC_ZIPINFO_SUMMARY,IDC_ZIPINFO_FILES,IDC_OFRAME,IDC_INAMEST,
|
||||||
IDC_INSTNAME,IDC_DTEXTST,IDC_DESCTEXT,IDC_DEPST,IDC_INSTPATH,IDC_OEFST,IDC_OUTFILE,IDC_BROWSE2,IDC_BROWSE3,IDC_COMPILER};
|
IDC_INSTNAME,IDC_DTEXTST,IDC_DESCTEXT,IDC_DEPST,IDC_INSTPATH,IDC_OEFST,IDC_OUTFILE,IDC_BROWSE2,IDC_COMPRESSOR,IDC_RADIO1,IDC_RADIO2};
|
||||||
static HICON hIcon;
|
static HICON hIcon;
|
||||||
static HFONT hFont;
|
static HFONT hFont;
|
||||||
if (uMsg == WM_DESTROY) { if (hIcon) DeleteObject(hIcon); hIcon=0; if (hFont) DeleteObject(hFont); hFont=0; }
|
if (uMsg == WM_DESTROY) { if (hIcon) DeleteObject(hIcon); hIcon=0; if (hFont) DeleteObject(hFont); hFont=0; }
|
||||||
|
@ -524,6 +556,7 @@ BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
g_hwnd=hwndDlg;
|
g_hwnd=hwndDlg;
|
||||||
|
CheckDlgButton(hwndDlg,IDC_RADIO2,BST_CHECKED);
|
||||||
SendDlgItemMessage(hwndDlg,IDC_INSTPATH,CB_ADDSTRING,0,(LPARAM)gp_poi);
|
SendDlgItemMessage(hwndDlg,IDC_INSTPATH,CB_ADDSTRING,0,(LPARAM)gp_poi);
|
||||||
SendDlgItemMessage(hwndDlg,IDC_INSTPATH,CB_ADDSTRING,0,(LPARAM)"$TEMP");
|
SendDlgItemMessage(hwndDlg,IDC_INSTPATH,CB_ADDSTRING,0,(LPARAM)"$TEMP");
|
||||||
SendDlgItemMessage(hwndDlg,IDC_INSTPATH,CB_ADDSTRING,0,(LPARAM)"$SYSDIR");
|
SendDlgItemMessage(hwndDlg,IDC_INSTPATH,CB_ADDSTRING,0,(LPARAM)"$SYSDIR");
|
||||||
|
@ -550,15 +583,6 @@ BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
CLIP_DEFAULT_PRECIS,
|
CLIP_DEFAULT_PRECIS,
|
||||||
DEFAULT_QUALITY,FIXED_PITCH|FF_DONTCARE,"Courier New");
|
DEFAULT_QUALITY,FIXED_PITCH|FF_DONTCARE,"Courier New");
|
||||||
SendDlgItemMessage(hwndDlg,IDC_OUTPUTTEXT,WM_SETFONT,(WPARAM)hFont,0);
|
SendDlgItemMessage(hwndDlg,IDC_OUTPUTTEXT,WM_SETFONT,(WPARAM)hFont,0);
|
||||||
{
|
|
||||||
char *p=g_makensis_path;
|
|
||||||
GetModuleFileName(g_hInstance,g_makensis_path,sizeof(g_makensis_path));
|
|
||||||
while (*p) p++;
|
|
||||||
while (p >= g_makensis_path && *p != '\\') p--;
|
|
||||||
if ((p-g_makensis_path>4)&&(tolower(*(p-1))=='n')&&(tolower(*(p-2))=='i')&&(tolower(*(p-3))=='b')&&(*(p-4)=='\\')) p -= 4;
|
|
||||||
strcpy(++p,"makensis.exe");
|
|
||||||
}
|
|
||||||
SetDlgItemText(hwndDlg,IDC_COMPILER,g_makensis_path);
|
|
||||||
return 1;
|
return 1;
|
||||||
case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
if (!g_hThread)
|
if (!g_hThread)
|
||||||
|
@ -571,18 +595,15 @@ BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
if (g_hThread)
|
if (g_hThread)
|
||||||
{
|
{
|
||||||
if (!lParam)
|
if (!lParam) ShowWindow(GetDlgItem(hwndDlg,IDC_TEST),SW_SHOWNA);
|
||||||
{
|
|
||||||
ShowWindow(GetDlgItem(hwndDlg,IDC_TEST),SW_SHOWNA);
|
|
||||||
}
|
|
||||||
made=1;
|
|
||||||
ShowWindow(GetDlgItem(hwndDlg,IDC_BACK),SW_SHOWNA);
|
|
||||||
EnableWindow(GetDlgItem(hwndDlg,IDOK),1);
|
|
||||||
CloseHandle(g_hThread);
|
CloseHandle(g_hThread);
|
||||||
g_hThread=0;
|
g_hThread=0;
|
||||||
if (nsifilename[0]) DeleteFile(nsifilename);
|
|
||||||
nsifilename[0]=0;
|
|
||||||
}
|
}
|
||||||
|
made=1;
|
||||||
|
ShowWindow(GetDlgItem(hwndDlg,IDC_BACK),SW_SHOWNA);
|
||||||
|
EnableWindow(GetDlgItem(hwndDlg,IDOK),1);
|
||||||
|
if (nsifilename[0]) DeleteFile(nsifilename);
|
||||||
|
nsifilename[0]=0;
|
||||||
break;
|
break;
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
|
@ -644,25 +665,6 @@ BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case IDC_BROWSE3:
|
|
||||||
{
|
|
||||||
OPENFILENAME l={sizeof(l),};
|
|
||||||
char buf[1024];
|
|
||||||
l.hwndOwner = hwndDlg;
|
|
||||||
l.lpstrFilter = "Makensis EXE files (Makensis*.exe)\0Makensis*.exe\0All files\0*.*\0";
|
|
||||||
l.lpstrFile = buf;
|
|
||||||
l.nMaxFile = 1023;
|
|
||||||
l.lpstrTitle = "Select compiler EXE file";
|
|
||||||
l.lpstrDefExt = "exe";
|
|
||||||
l.lpstrInitialDir = NULL;
|
|
||||||
l.Flags = OFN_HIDEREADONLY|OFN_EXPLORER|OFN_PATHMUSTEXIST;
|
|
||||||
GetDlgItemText(hwndDlg,IDC_COMPILER,buf,sizeof(buf));
|
|
||||||
if (GetOpenFileName(&l))
|
|
||||||
{
|
|
||||||
SetDlgItemText(hwndDlg,IDC_COMPILER,buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IDC_BACK:
|
case IDC_BACK:
|
||||||
if (!g_hThread)
|
if (!g_hThread)
|
||||||
{
|
{
|
||||||
|
@ -691,7 +693,8 @@ BOOL CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if (!made)
|
if (!made)
|
||||||
{
|
{
|
||||||
GetDlgItemText(hwndDlg,IDC_COMPILER,g_makensis_path,sizeof(g_makensis_path));
|
g_bzip2=!IsDlgButtonChecked(hwndDlg,IDC_RADIO1);
|
||||||
|
|
||||||
SetDlgItemText(g_hwnd, IDC_OUTPUTTEXT, "");
|
SetDlgItemText(g_hwnd, IDC_OUTPUTTEXT, "");
|
||||||
int x;
|
int x;
|
||||||
for (x = 0; x < sizeof(ids)/sizeof(ids[0]); x ++)
|
for (x = 0; x < sizeof(ids)/sizeof(ids[0]); x ++)
|
||||||
|
|
|
@ -28,7 +28,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 361, 234
|
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 361, 234
|
||||||
STYLE DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Nullsoft ZIP2EXE v0.17"
|
CAPTION "Nullsoft ZIP2EXE v0.20"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
PUSHBUTTON "Open &ZIP",IDC_BROWSE,13,17,49,14
|
PUSHBUTTON "Open &ZIP",IDC_BROWSE,13,17,49,14
|
||||||
|
@ -42,10 +42,15 @@ BEGIN
|
||||||
WS_TABSTOP
|
WS_TABSTOP
|
||||||
EDITTEXT IDC_OUTFILE,81,169,224,12,ES_AUTOHSCROLL
|
EDITTEXT IDC_OUTFILE,81,169,224,12,ES_AUTOHSCROLL
|
||||||
PUSHBUTTON "Browse",IDC_BROWSE2,309,169,41,14
|
PUSHBUTTON "Browse",IDC_BROWSE2,309,169,41,14
|
||||||
|
CONTROL "Deflate (ZIP)",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,
|
||||||
|
81,185,56,10
|
||||||
|
CONTROL "BZIP2",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,139,186,
|
||||||
|
36,10
|
||||||
|
LTEXT "Compressor:",IDC_COMPRESSOR,13,186,42,8
|
||||||
DEFPUSHBUTTON "Convert",IDOK,304,213,50,14,WS_DISABLED
|
DEFPUSHBUTTON "Convert",IDOK,304,213,50,14,WS_DISABLED
|
||||||
GROUPBOX "Source ZIP File",IDC_SZIPFRAME,7,7,347,102
|
GROUPBOX "Source ZIP File",IDC_SZIPFRAME,7,7,347,102
|
||||||
LTEXT "",IDC_ZIPINFO_SUMMARY,13,33,245,8
|
LTEXT "",IDC_ZIPINFO_SUMMARY,13,33,245,8
|
||||||
GROUPBOX "Output",IDC_OFRAME,7,110,347,77
|
GROUPBOX "Output",IDC_OFRAME,7,113,347,90
|
||||||
LTEXT "Default extract path:",IDC_DEPST,13,156,66,8
|
LTEXT "Default extract path:",IDC_DEPST,13,156,66,8
|
||||||
LTEXT "Description text:",IDC_DTEXTST,13,142,66,8
|
LTEXT "Description text:",IDC_DTEXTST,13,142,66,8
|
||||||
LTEXT "Output EXE file:",IDC_OEFST,13,171,51,8
|
LTEXT "Output EXE file:",IDC_OEFST,13,171,51,8
|
||||||
|
@ -53,9 +58,6 @@ BEGIN
|
||||||
PUSHBUTTON "Test",IDC_TEST,251,213,50,14,NOT WS_VISIBLE
|
PUSHBUTTON "Test",IDC_TEST,251,213,50,14,NOT WS_VISIBLE
|
||||||
PUSHBUTTON "< Back",IDC_BACK,7,213,50,14,NOT WS_VISIBLE
|
PUSHBUTTON "< Back",IDC_BACK,7,213,50,14,NOT WS_VISIBLE
|
||||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,210,347,1
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,210,347,1
|
||||||
PUSHBUTTON "Change Compiler",IDC_BROWSE3,7,190,62,14
|
|
||||||
EDITTEXT IDC_COMPILER,74,191,280,12,ES_AUTOHSCROLL | ES_READONLY |
|
|
||||||
NOT WS_TABSTOP
|
|
||||||
EDITTEXT IDC_OUTPUTTEXT,7,7,347,202,ES_MULTILINE | ES_AUTOVSCROLL |
|
EDITTEXT IDC_OUTPUTTEXT,7,7,347,202,ES_MULTILINE | ES_AUTOVSCROLL |
|
||||||
ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE |
|
ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE |
|
||||||
WS_VSCROLL | WS_HSCROLL
|
WS_VSCROLL | WS_HSCROLL
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
#define IDC_TEST 1017
|
#define IDC_TEST 1017
|
||||||
#define IDC_BACK 1018
|
#define IDC_BACK 1018
|
||||||
#define IDC_COMPILER 1019
|
#define IDC_COMPILER 1019
|
||||||
|
#define IDC_RADIO1 1020
|
||||||
|
#define IDC_RADIO2 1021
|
||||||
|
#define IDC_COMPRESSOR 1022
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
|
@ -31,7 +34,7 @@
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 103
|
#define _APS_NEXT_RESOURCE_VALUE 103
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1020
|
#define _APS_NEXT_CONTROL_VALUE 1023
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue