Commit graph

73 commits

Author SHA1 Message Date
kichik
0aed504f4a happy new year!
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5917 212acab6-be3b-0410-9dea-997c60f758d6
2009-02-01 14:44:30 +00:00
kichik
130074428e revert r5314 - if the banner plug-in shows IDD_VERIFY in its own thread and that thread sets it as the foreground window because of the WS_VISIBLE style, the main thread loses the ability to set the foreground window. this causes the installer window to start on the background if banner is used in .oninit.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5915 212acab6-be3b-0410-9dea-997c60f758d6
2009-02-01 12:32:34 +00:00
kichik
2efd32160b fixed bug #1874297 - Error decompressing data! Corrupted installer?
problem was that decompression ended prematurely. instead of waiting for zlib to return Z_STREAM_END, it checked if no more output was required. this could cause a case where zlib wouldn't read its entire stream. in this particular case, the compressed headers were 0x4001 bytes long and compressed data input buffer size is only 0x4000. instead of waiting for another run of inflate() to read the last byte, which is probably eof, _dodecmop() broke the loop and didn't read that extra byte. since loadHeaders() relays on _dodecomp() to read the entire header so it can calculate where the data block begins, all reads from the data block suddenly became off by one, causing "decompression errors".

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5557 212acab6-be3b-0410-9dea-997c60f758d6
2008-02-23 16:28:23 +00:00
kichik
2675599a31 happy new year!
bug #1855805

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5429 212acab6-be3b-0410-9dea-997c60f758d6
2007-12-22 09:41:57 +00:00
kichik
fb217c5b5c declare real calc_percent()'s code just once
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5355 212acab6-be3b-0410-9dea-997c60f758d6
2007-11-09 15:30:08 +00:00
kichik
32854c2021 fixed a bug that where __ensuredata processed window messages using MessageLoop.
this could cause synchronization issues when data is decompressed in a page's leave function and the user clicks the next button twice really fast or on a slow computer.
WM_COMMAND would be sent twice and so DialogProc could execute the leave function while the installation thread is running causing interpreter havoc.

for more details:
http://forums.winamp.com/showthread.php?s=&threadid=274333

as always, a few size optimizations were thrown in the loop and the fix actually makes the code smaller


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5313 212acab6-be3b-0410-9dea-997c60f758d6
2007-10-03 22:07:16 +00:00
kichik
b0978fc844 move SetDetailsPrint flag to g_exec_flag and added a lastused capability to EW_SETFLAG
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5268 212acab6-be3b-0410-9dea-997c60f758d6
2007-09-08 17:20:11 +00:00
kichik
f4c9414545 added $EXEFILE
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5120 212acab6-be3b-0410-9dea-997c60f758d6
2007-04-24 19:09:51 +00:00
kichik
0ef9426b45 added $EXEPATH
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5105 212acab6-be3b-0410-9dea-997c60f758d6
2007-04-19 21:38:11 +00:00
kichik
08650c9384 size optimization - GlobalFree isn't called in any other case, no need here as well
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4977 212acab6-be3b-0410-9dea-997c60f758d6
2007-03-04 19:53:58 +00:00
kichik
0243b40a1d according to MSDN, passing NULL as hModule to GetModuleFileName will get the path for the executable of the process so there's no need for g_hInstance
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4904 212acab6-be3b-0410-9dea-997c60f758d6
2007-01-25 22:24:26 +00:00
kichik
8ecaea19a5 set silent flag as early as possible, so most crc errors won't appear
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4902 212acab6-be3b-0410-9dea-997c60f758d6
2007-01-25 21:29:03 +00:00
kichik
c145d69e55 2006 -> 2007
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4847 212acab6-be3b-0410-9dea-997c60f758d6
2007-01-13 17:28:23 +00:00
joostverburg
e497d771b1 * The LZMA compression module for NSIS is now licensed under the Common Public License version 1.0
* Added license and copyright notice to every source file
* The new COPYING file and license section in the Users Manual list the terms of all relevant licenses


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4787 212acab6-be3b-0410-9dea-997c60f758d6
2006-10-28 19:45:02 +00:00
kichik
3e561714e4 fixed bug #1504758 - CRC32 implementation use potentially non-32bit types
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4697 212acab6-be3b-0410-9dea-997c60f758d6
2006-06-16 14:12:04 +00:00
kichik
d6367e4125 my_GlobalAlloc no longer reduces the size
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4255 212acab6-be3b-0410-9dea-997c60f758d6
2005-09-09 16:08:44 +00:00
kichik
8e3f7ed623 size optimization
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4254 212acab6-be3b-0410-9dea-997c60f758d6
2005-09-09 15:21:45 +00:00
kichik
54bb163a4f don't rely on WM_DESTROY to update extraction status to 100%
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3875 212acab6-be3b-0410-9dea-997c60f758d6
2005-01-14 16:54:44 +00:00
kichik
5364b5da62 initialize g_db_hFile with INVALID_HANDLE_VALUE so the handle 0 will not be closed in CleanUp() if loadHeaders() is never called
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3634 212acab6-be3b-0410-9dea-997c60f758d6
2004-08-20 14:16:11 +00:00
kichik
42f134860a Fixed the cause of bug #1004496 - Install with /NCRC hangs
The hanging disappeared along with the removal of the threaded lzma decoder, but the cause stayed. When the user specified /NCRC on the command line, loadHeaders reported the compressed data size to be 4 bytes larger than it really is. Instead of checking the header flags, it checked the combined flags (command line and header), concluded CRC checksum is disabled and therefore didn't subtract the 4 bytes of the CRC checksum from the compressed data size.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3613 212acab6-be3b-0410-9dea-997c60f758d6
2004-08-07 15:47:12 +00:00
kichik
c50e17955c case changes for #include lines for cross compiling (Michiel Ephraim)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3558 212acab6-be3b-0410-9dea-997c60f758d6
2004-06-11 11:24:09 +00:00
kichik
3f483e0163 Converted the LZMA decoder to a state machine like zlib and bzip2. The new method is smaller and safer because there is no need for hideous thread synchronization. The new method also works on Windows 95, unlike the previous one which was using InterlockedCompareExchange.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3527 212acab6-be3b-0410-9dea-997c60f758d6
2004-04-16 22:44:03 +00:00
kichik
f4a1f17299 - updated the makefiles and code to allow compliation with MinGW once again (some of patch #875485 by perditionc)
- fixed errors and warnings given by gcc


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3513 212acab6-be3b-0410-9dea-997c60f758d6
2004-03-12 20:43:54 +00:00
kichik
d18cea205c - lzma exehead is now 34kb instead of 34.5kb thanks to the new LZMA C SDK and should be much faster due to removal of critical section usage (not tested too much, test before usage)
- applied some parts of patch #875485


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3508 212acab6-be3b-0410-9dea-997c60f758d6
2004-03-06 18:37:19 +00:00
kichik
bd25e070c8 - compiles without PSDK again
- moved all defines that are missing without PSDK to Platform.h


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3436 212acab6-be3b-0410-9dea-997c60f758d6
2004-01-30 22:04:10 +00:00
kichik
851032d22a fixed some compile errors caused by removing some config.h options
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3429 212acab6-be3b-0410-9dea-997c60f758d6
2004-01-29 01:23:24 +00:00
kichik
dd8a4388ac fixed a bunch of bugs that caused lzma and bzip2 not to function without solid compression
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3362 212acab6-be3b-0410-9dea-997c60f758d6
2004-01-06 00:53:12 +00:00
kichik
acf798c33b - Made CRC checking from CD-ROM or a network drive faster
- Some more optimizations


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3225 212acab6-be3b-0410-9dea-997c60f758d6
2003-11-28 17:57:59 +00:00
kichik
594c3ed0f6 - First LZMA enhanced NSIS version - experimental
- Added SetCompressorDictSize (only works for LZMA)
- Added SetCompressionLevel (only "works" for zlib and bzip2) - doesn't work for now
- Section is only supposed to get 4 parameters if /o is specified
- Updated version numbers


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3190 212acab6-be3b-0410-9dea-997c60f758d6
2003-11-24 00:08:58 +00:00
kichik
8380534b1d - Fixed a crash caused by clicking cancel on a directory page (thanks pengyou)
- Fixed some extraction progress issues


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2900 212acab6-be3b-0410-9dea-997c60f758d6
2003-09-11 20:46:20 +00:00
kichik
bb927a6230 - fixed a typo in inner langstrings name - [un]LicenseTextRB
- Finnish language files updated
- made SetStlColors able to set background color with /BRANDING
- some optimizations
- fixed progress showing for WriteUninstaller


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2870 212acab6-be3b-0410-9dea-997c60f758d6
2003-09-07 08:53:22 +00:00
kichik
74ea2dc585 * PageEx - every page can be used everywhere and as many times as needed
* DirVar - easy way to add another dir page
* default strings in the language file (Page directory is enough, no need for DirText)
* strings from the language file are now LangStrings that can be used in the script
* no more /LANG - one string for all languages
* any lang strings can be used everywhere, installer or uninstaller (no un.)
* no more unprocessed strings - variables can be used almost everywhere (except in licenseData and InstallDirRegKey)
* DirText parm for browse dialog text
* SetBkColor -> SetCtlColors - can now set text color too
* fixed SetOutPath and File /r bug
* fixed File /a /oname bug
* added $_CLICK for pages
* added quotes support in lang files (patch #752620)
* extraction progress
* separate RTL dialogs for RTL langs (improved RTL too)
* InstallOptions RTL
* StartMenu RTL
* fixed RegDLL?
* added IfSilent and SetSilent (SetSilent only works from .onInit)
* fixed verify window (it never showed) (bug #792494)
* fixed ifnewer readonly file problem (patch #783782)
* fixed wininit.ini manipulation when there is another section after [rename]
* fixed some ClearType issues
* fixed a minor bug in the resource editor
* fixed !ifdef/!endif stuff, rewritten
* lots of code and comments clean ups
* got rid of some useless exceptions handling and STL classes (still much more to go)
* lots of optimizations, of course ;)
* updated system.dll with support for GUID, WCHAR, and fast VTable calling (i.e. COM ready)
* minor bug fixes


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2823 212acab6-be3b-0410-9dea-997c60f758d6
2003-09-04 18:25:57 +00:00
kichik
048b077782 Fix invalid CRC messages for data < 512
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2768 212acab6-be3b-0410-9dea-997c60f758d6
2003-07-24 13:25:37 +00:00
kichik
7f1e93c85e Fixed CRC off and whole compression
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2763 212acab6-be3b-0410-9dea-997c60f758d6
2003-07-22 08:33:25 +00:00
kichik
4a1c9f3e77 Back to normal messages
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2750 212acab6-be3b-0410-9dea-997c60f758d6
2003-07-18 21:33:58 +00:00
kichik
caa31c9cd5 - Fixed all known problems with temporary files and directoroes
- Command line switches work again (/NCRC and /S)
- GetTempFileName now takes another argument as base directory (default is $TEMP)
- Message boxes work from .onGUIEnd
- Some more optimizations


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2739 212acab6-be3b-0410-9dea-997c60f758d6
2003-07-18 14:22:17 +00:00
kichik
711c4c19a2 shaved more than 500 bytes from zlib, zlib exehead now 33.5k
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2722 212acab6-be3b-0410-9dea-997c60f758d6
2003-07-16 12:28:32 +00:00
ramon18
054db45f63 Special section of data for user vars, whitch allow compiler to assign the right size and no code needed in exehead for mem allocs. Warnings for unreferenced user vars. (758773) Error, if temp file not available, now directory is created if not exist.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2673 212acab6-be3b-0410-9dea-997c60f758d6
2003-06-23 22:40:11 +00:00
ramon18
ab91077049 Dynamic allocation of needed user variables (exehead grew 512 bytes).
Independed user vars in uninstaller and installer


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2656 212acab6-be3b-0410-9dea-997c60f758d6
2003-06-17 23:59:13 +00:00
kichik
8f849c07e5 IfErrors clears the error flag again
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2400 212acab6-be3b-0410-9dea-997c60f758d6
2003-03-30 15:08:24 +00:00
kichik
34e75bfd21 Buttons from focused license text fixed (return will not work if next button not enabled and escape will work as cancel)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2391 212acab6-be3b-0410-9dea-997c60f758d6
2003-03-29 13:39:48 +00:00
kichik
bad48f1a0a Some space saving changes, /NOCUSTOM and /COMPONENTSONLYONCUSTOM work together and infastructures for future changes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2338 212acab6-be3b-0410-9dea-997c60f758d6
2003-03-18 20:36:52 +00:00
kichik
de557f6037 BGGradient & minize solution
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2258 212acab6-be3b-0410-9dea-997c60f758d6
2003-03-09 19:49:19 +00:00
kichik
5e9ede6d31 + Sections can be unselected in silent mode too
+ Some documentation fixes
+ Transition between a normal page and a custom page no longer causes a flicker (between two custom pages it still does)
+ The completed sub-caption shows again


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1853 212acab6-be3b-0410-9dea-997c60f758d6
2002-11-30 13:15:49 +00:00
kichik
6c51b44657 New paging system. All scripts must be updated, but it sure is worth it. InstallOptions has two new functions initDialog and show. Docs massively updated.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1536 212acab6-be3b-0410-9dea-997c60f758d6
2002-11-01 20:34:55 +00:00
kichik
b18b76f59b 32 bytes down
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1392 212acab6-be3b-0410-9dea-997c60f758d6
2002-10-12 17:08:09 +00:00
kichik
62abf21381 bzip2 header down to 34KB, 54 bytes away from 34.5KB zlib. Fixed a bug with ReadRegStr and $0.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1249 212acab6-be3b-0410-9dea-997c60f758d6
2002-10-01 14:13:23 +00:00
justin1014
6a5694d64a made bzip2 mode slightly smaller by making reinit stuff not necessary
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1245 212acab6-be3b-0410-9dea-997c60f758d6
2002-10-01 06:30:38 +00:00
justin1014
ed3a8ba913 even smaller bzip2 code
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1244 212acab6-be3b-0410-9dea-997c60f758d6
2002-10-01 02:27:39 +00:00
justin1014
77cb319b8c made bzip2 smaller than zlib mode !!!
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1241 212acab6-be3b-0410-9dea-997c60f758d6
2002-10-01 01:57:14 +00:00