|
|
|
|
#1 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Crashing on custom page
This is very strange, and has just started happening even though I never changed the code that is causing the crash.
I have a custom IO page, and am reading registry values when the user clicks back or next. After reading the registry values, I am comparing them to "1". Just those two pieces of code seems to crash the whole installer when I click back or next. My function is like this: code: If I blank out the strcmp's then it works fine. Changing strcmp to intcmp also crashes the installer. I have even put another IO page before it, and that also crashes on leave (even though it does not have any StrCmp's in it). I have placed a message box before the Pop $R0 (after leaving the IO page) and that never shows either. I seem to remember this happening randomly for me a while ago, but now it happens all the time (even after reboot) I am also using Kichik's modified MakeNSIS exe with longer max strlen, but have not downloaded any latest cvs files (so no nsis base files have changed since the installer worked). -Stu |
|
|
|
|
|
#2 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Please try latest CVS verison.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#3 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
That's always a problem with me on this installer atm, because my installer requires the 8192 max strlen.
Is it safe to get the makensis zip containing the modified strlen on cvs change? -Stu |
|
|
|
|
|
#4 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
The problem was (hopefully) in InstallOptions.dll not makensis.exe.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#5 |
|
NSIS Dev
Join Date: Apr 2003
Location: Portugal
Posts: 110
|
What happens if you remove this code:
pagetop: InstallOptions::dialog "$TEMP\ddayupdates\dialog.du" Pop $R0 StrCmp $R0 back settings StrCmp $R0 cancel pagecancel StrCmp $R0 success pagesuccess StrCmp $R0 error pagecancel ? |
|
|
|
|
|
#6 |
|
NSIS Dev
Join Date: Apr 2003
Location: Portugal
Posts: 110
|
try latest CVS Kichik as fixed a bug
|
|
|
|
|
|
#7 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Ok,
so should I just extract InstallOptions.dll, or is it safe to use modified makensis.exe with all latest cvs files? -Stu |
|
|
|
|
|
#8 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Compare the time your makensis.exe was compiled with the change log and see if anything big was changed since. Better yet, tell me the date and I'll check, just to make sure.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#9 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Created and modified on:
23 July 2003, 23:43:24 I have noticed a modification on NSISdl - need that! Also, I have seen some nice changes to makensis that are important to my installer. Will I be able to have another compile ![]() Sorry, I must buy a compiler myself. Any tips on where I would be able to purchase the product (on the net?) Thanks -Stu |
|
|
|
|
|
#10 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Some important changes, same URL.
Try .NET Framework, it comes with a C compiler. NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#11 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Ah, ok thanks.
I have a copy of latest NeoScripter (if any good) which I had to download .NET framework for. Thanks for recompile, much appreciated by me and eventually a load of gamers! -Stu
|
|
|
|
|
|
#12 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
OK, after placing the old code back in (containing StrCmp's) it still crashes.
After blanking out the InstallOptions::Dialog, and the pop, it works fine. I have reverted back to IfFileExists and all is ok. -Stu |
|
|
|
|
|
#13 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
You did update InstallOptions.dll, right?
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#14 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Yes.
I extracted whole CVS zip, and makensis -Stu |
|
|
|
|
|
#15 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
What does IfFileExists have to do with it? Does it replace the entire custom page? It is just the InstallOptions::dialog call that is causing this right? What's the exact text that shows in the error message?
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#16 | |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
I'm on WinXP.
Before, my settings dialog would write "1" to the registry to show that it was running. On my IO page, I would check if the registry value was "1" and of so, then don't let user continue to next page. Because this causes crashes, I instead create a temp file to show that the settings dialog is running, and if that file exists then don't go to next page. The InstallOptions call is indeed causing the crash. Here is the details: Quote:
-Stu |
|
|
|
|
|
|
#17 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Can you attach a zipped example (script, ini, compiled example)?
The error message makes no sense to me... If somehow a DLL can be loaded at that address or XP trims the base address it means it crashes on test eax, eax. It makes no sense. I'm sorry to doubt, but can you please make sure the InstallOptions.dll you have is versioned 1.64? NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#18 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Where can I find the InstallOptions version?
Looking at InstallerOptions, it says version 2.0. I shall zip up all involved files tomorrow (comes to about 1.5mb). -Stu |
|
|
|
|
|
#19 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
If you have TortoiseCVS just go the properties of InstallOptions.dll. If not, open Plugins\CVS\Entries and look at the line where InstallOptions.dll is listed.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#20 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Yes, it's 1.64.
-Stu |
|
|
|
|
|
#21 |
|
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Zipped up
You can get it here:
http://myweb.tiscali.co.uk/afrowuk/du_files.zip Search ddayupdater.nsi for "Function MainDialog" to get there. There are some notes underneath the function. -Stu |
|
|
|
|
|
#22 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
I was only able to reproduce this exact error when I gave IO a non existent INI. I have made it so IO will return an error instead of crashing in this case. You should check your script to make sure it doesn't delete the INI file ahead of time or something like that, unless it still crashes with 1.65. If it does, I need full error message and a small example that depends on nothing else.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
![]() |
|
|||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|