more updates yay
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1109 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
c7876af9fc
commit
0001910df8
4 changed files with 17 additions and 20 deletions
|
@ -41,11 +41,6 @@ extern unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf,
|
||||||
#ifdef NSIS_COMPRESS_WHOLE
|
#ifdef NSIS_COMPRESS_WHOLE
|
||||||
extern HANDLE dbd_hFile;
|
extern HANDLE dbd_hFile;
|
||||||
#endif
|
#endif
|
||||||
#ifdef NSIS_CONFIG_CRC_SUPPORT
|
|
||||||
static const char *g_crcinvalid=_LANG_INVALIDCRC;
|
|
||||||
#else
|
|
||||||
static const char *g_crcinvalid=_LANG_INVALIDINST;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT
|
#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT
|
||||||
static const char *g_errorcopyinginstall=_LANG_UNINSTINITERROR;
|
static const char *g_errorcopyinginstall=_LANG_UNINSTINITERROR;
|
||||||
|
@ -170,7 +165,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdParam,
|
||||||
if (l > 512) l=512;
|
if (l > 512) l=512;
|
||||||
if (!ReadFile(g_db_hFile,temp,l,&l,NULL))
|
if (!ReadFile(g_db_hFile,temp,l,&l,NULL))
|
||||||
{
|
{
|
||||||
m_Err=g_crcinvalid;
|
m_Err=_LANG_INVALIDCRC;
|
||||||
#if defined(NSIS_CONFIG_CRC_SUPPORT) && defined(NSIS_CONFIG_VISIBLE_SUPPORT)
|
#if defined(NSIS_CONFIG_CRC_SUPPORT) && defined(NSIS_CONFIG_VISIBLE_SUPPORT)
|
||||||
if (hwnd) DestroyWindow(hwnd);
|
if (hwnd) DestroyWindow(hwnd);
|
||||||
#endif//NSIS_CONFIG_CRC_SUPPORT
|
#endif//NSIS_CONFIG_CRC_SUPPORT
|
||||||
|
@ -187,7 +182,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdParam,
|
||||||
g_filehdrsize=m_pos;
|
g_filehdrsize=m_pos;
|
||||||
if (dbl > left)
|
if (dbl > left)
|
||||||
{
|
{
|
||||||
m_Err=g_crcinvalid;
|
m_Err=_LANG_INVALIDCRC;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
#if defined(NSIS_CONFIG_SILENT_SUPPORT) && defined(NSIS_CONFIG_VISIBLE_SUPPORT)
|
#if defined(NSIS_CONFIG_SILENT_SUPPORT) && defined(NSIS_CONFIG_VISIBLE_SUPPORT)
|
||||||
|
@ -252,7 +247,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdParam,
|
||||||
if (hwnd) DestroyWindow(hwnd);
|
if (hwnd) DestroyWindow(hwnd);
|
||||||
#endif//NSIS_CONFIG_CRC_SUPPORT
|
#endif//NSIS_CONFIG_CRC_SUPPORT
|
||||||
#endif//NSIS_CONFIG_VISIBLE_SUPPORT
|
#endif//NSIS_CONFIG_VISIBLE_SUPPORT
|
||||||
if (!g_filehdrsize) m_Err=g_crcinvalid;
|
if (!g_filehdrsize) m_Err=_LANG_INVALIDCRC;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef NSIS_CONFIG_CRC_SUPPORT
|
#ifdef NSIS_CONFIG_CRC_SUPPORT
|
||||||
|
@ -263,14 +258,14 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdParam,
|
||||||
SetFilePointer(g_db_hFile,m_pos,NULL,FILE_BEGIN);
|
SetFilePointer(g_db_hFile,m_pos,NULL,FILE_BEGIN);
|
||||||
if (!ReadFile(g_db_hFile,&fcrc,4,&l,NULL) || crc != fcrc)
|
if (!ReadFile(g_db_hFile,&fcrc,4,&l,NULL) || crc != fcrc)
|
||||||
{
|
{
|
||||||
m_Err=g_crcinvalid;
|
m_Err=_LANG_INVALIDCRC;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif//NSIS_CONFIG_CRC_SUPPORT
|
#endif//NSIS_CONFIG_CRC_SUPPORT
|
||||||
SetFilePointer(g_db_hFile,g_filehdrsize,NULL,FILE_BEGIN);
|
SetFilePointer(g_db_hFile,g_filehdrsize,NULL,FILE_BEGIN);
|
||||||
|
|
||||||
if (loadHeaders()) m_Err=g_crcinvalid;
|
m_Err=loadHeaders();
|
||||||
}
|
}
|
||||||
if (m_Err) goto end;
|
if (m_Err) goto end;
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#include "../bzip2/bzlib.h"
|
#include "../bzip2/bzlib.h"
|
||||||
static int bz2_needreinit;
|
static int bz2_needreinit;
|
||||||
#define z_stream bz_stream
|
#define z_stream bz_stream
|
||||||
#define inflateInit(x) { if (BZ2_bzDecompressInit(x)<0) return -1; }
|
#define inflateInit(x) { if (BZ2_bzDecompressInit(x)<0) return _LANG_INVALIDCRC; }
|
||||||
#define inflate(x) BZ2_bzDecompress(x)
|
#define inflate(x) BZ2_bzDecompress(x)
|
||||||
#define inflateReset(x) { if (bz2_needreinit) { BZ2_bzDecompressEnd(x); inflateInit(x); } bz2_needreinit=1; }
|
#define inflateReset(x) { if (bz2_needreinit) { BZ2_bzDecompressEnd(x); inflateInit(x); } bz2_needreinit=1; }
|
||||||
#define Z_OK BZ_OK
|
#define Z_OK BZ_OK
|
||||||
|
@ -49,13 +49,13 @@ int NSISCALL isheader(firstheader *h)
|
||||||
static z_stream g_inflate_stream;
|
static z_stream g_inflate_stream;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int NSISCALL loadHeaders(void)
|
const char * NSISCALL loadHeaders(void)
|
||||||
{
|
{
|
||||||
DWORD r;
|
DWORD r;
|
||||||
void *data;
|
void *data;
|
||||||
firstheader h;
|
firstheader h;
|
||||||
|
|
||||||
if (!ReadFile(g_db_hFile,(LPVOID)&h,sizeof(h),&r,NULL) || r != sizeof(h) || !isheader(&h)) return -1;
|
if (!ReadFile(g_db_hFile,(LPVOID)&h,sizeof(h),&r,NULL) || r != sizeof(h) || !isheader(&h)) return _LANG_INVALIDCRC;
|
||||||
|
|
||||||
data=(void*)my_GlobalAlloc(h.length_of_header);
|
data=(void*)my_GlobalAlloc(h.length_of_header);
|
||||||
|
|
||||||
|
@ -72,8 +72,7 @@ int NSISCALL loadHeaders(void)
|
||||||
dbd_hFile=CreateFile(fno,GENERIC_WRITE|GENERIC_READ,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE,NULL);
|
dbd_hFile=CreateFile(fno,GENERIC_WRITE|GENERIC_READ,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE,NULL);
|
||||||
if (dbd_hFile == INVALID_HANDLE_VALUE)
|
if (dbd_hFile == INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
my_MessageBox("Error writing temp file",MB_OK);
|
return _LANG_ERRORWRITINGTEMP;
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dbd_srcpos=SetFilePointer(g_db_hFile,0,NULL,FILE_CURRENT);
|
dbd_srcpos=SetFilePointer(g_db_hFile,0,NULL,FILE_CURRENT);
|
||||||
|
@ -83,9 +82,8 @@ int NSISCALL loadHeaders(void)
|
||||||
|
|
||||||
if (GetCompressedDataFromDataBlockToMemory(-1,data,h.length_of_header) != h.length_of_header)
|
if (GetCompressedDataFromDataBlockToMemory(-1,data,h.length_of_header) != h.length_of_header)
|
||||||
{
|
{
|
||||||
my_MessageBox(_LANG_CANTOPENSELF,MB_OK);
|
|
||||||
GlobalFree((HGLOBAL)data);
|
GlobalFree((HGLOBAL)data);
|
||||||
return -1;
|
return _LANG_INVALIDCRC;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(NSIS_COMPRESS_WHOLE) || !defined(NSIS_CONFIG_COMPRESSION_SUPPORT)
|
#if !defined(NSIS_COMPRESS_WHOLE) || !defined(NSIS_CONFIG_COMPRESSION_SUPPORT)
|
||||||
|
|
|
@ -470,7 +470,7 @@ int NSISCALL isheader(firstheader *h); // returns 0 on not header, length_of_dat
|
||||||
// returns 0 on success
|
// returns 0 on success
|
||||||
// on success, m_header will be set to a pointer that should eventually be GlobalFree()'d.
|
// on success, m_header will be set to a pointer that should eventually be GlobalFree()'d.
|
||||||
// (or m_uninstheader)
|
// (or m_uninstheader)
|
||||||
int NSISCALL loadHeaders(void);
|
const char * NSISCALL loadHeaders(void);
|
||||||
|
|
||||||
extern HANDLE g_db_hFile;
|
extern HANDLE g_db_hFile;
|
||||||
extern int g_quit_flag;
|
extern int g_quit_flag;
|
||||||
|
|
|
@ -1,14 +1,18 @@
|
||||||
#ifndef _NSIS_LANG_H_
|
#ifndef _NSIS_LANG_H_
|
||||||
#define _NSIS_LANG_H_
|
#define _NSIS_LANG_H_
|
||||||
|
|
||||||
|
|
||||||
// generic startup strings (these will never be overridable)
|
// generic startup strings (these will never be overridable)
|
||||||
|
#ifdef NSIS_CONFIG_CRC_SUPPORT
|
||||||
#define _LANG_INVALIDCRC "Installer corrupted or incomplete.\r\n\r\n" \
|
#define _LANG_INVALIDCRC "Installer corrupted or incomplete.\r\n\r\n" \
|
||||||
"This could be the result of a failed download or corruption from a virus." \
|
"This could be the result of a failed download or corruption from a virus." \
|
||||||
"\r\n\r\nIf desperate, try the /NCRC command line switch (NOT recommended)"
|
"\r\n\r\nIf desperate, try the /NCRC command line switch (NOT recommended)"
|
||||||
|
#else
|
||||||
#define _LANG_INVALIDINST "Installer corrupted.\r\n\r\n" \
|
#define _LANG_INVALIDCRC "Installer corrupted.\r\n\r\n" \
|
||||||
"This could be the result of an incomplete download"
|
"This could be the result of an incomplete download"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define _LANG_ERRORWRITINGTEMP "Error writing temp file"
|
||||||
|
|
||||||
#define _LANG_UNINSTINITERROR "Error launching installer"
|
#define _LANG_UNINSTINITERROR "Error launching installer"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue