Skip to content
⌘ NSIS Forum Archive

3DNA installer

30 posts

rsegal#

3DNA installer

If you're interested try out the download on www.3dna.net. I built the installer in NSIS using a custom built tool that would generate an install script which could be built by NSIS. I would be happy to answer any questions anyone has about how I've made the installer.
Perhaps the most unique page in the installer is a hardware check which checks to see if your system is capable of running our software.

Thanks to all the NSIS developers and community who took the time to answer my many questions.
Joost Verburg#
Maybe you can post some screenshots so people don't have to download these huge files 🙂
rsegal#
Indeed I can, here's one
rsegal#
And here's another,
Joost Verburg#
Can you post the detection function for CPU, RAM, VRAM etc. in the NSIS Archive: http://nsis.sourceforge.net/archive/nsisweb.php

I'm sure they can be useful for others.
Afrow UK#
That sure is a great screenshot, becaus eit shows how NSIS code can do practically anything!

T'is amazing stuff!

-Stu
rsegal#
Doh! You're right they are the same screenshot. Here's the other screenshot I meant to post.
rsegal#
The hardware info plugin is now up for your enjoyment here in the archives. It is located in the "Plugins" area called "System hardware detection"
rsegal#
I've attached the ini and an example custom function which I use to fill in the hardware information in the form before it is displayed. I cut out alot of stuff but it does show how you can work with the HwInfo plugin.
rsegal#
Ok, yes I know I messed up again. I'm going to get it this time for real.
rsegal#
Originally posted by Pizzadani
Could you post your hardware check script and ini file?
Hey sorry there Pizza, here's the function I use for displaying the hardware comparison window as well as determining the capabilities of the users system. I've got comments sprinkled around so hopefully you can get a fair idea of what's going on. The best thing to do is probably to look through the script and ask me any questions you may have. I didn't really clean it up all that much so there is some stuff in there which is not applicable such as the displaying of the banner window at the beginning of the function.

The basic idea behind the hardware page was too look at each piece of hardware you want to evaluate. Compare it against a set standard which you decide and assign that piece of hardware a score depending on how well it did. Then you add all the scores together to display a message to the user telling them how things are likely to run. Works pretty well. Like I said, ask me any questions you want I'll be happy to answer them.
kalverson#
Would it be possible to get the ini file for hwcompare.nsi ? I really like your screen capture of that panel.
jpderuiter#
It's in the zipfile:
Are you a developer who uses NSIS to distribute your application? Are you a Winamp plug-in developer who wants to use NSIS to distribute your plug-in? Have suggestions for other people like you? This is the place.
kalverson#
The one for registration.jpg is in the zip file, but the one for hardwarecheck.jpg is not. I want to display a panel like hardwarecheck.jpg. I guess I could spend some time and recreate one from scratch. The source code to fill in hardwarecheck panel is included in one of the zip files, but not the ini.
pengyou#
Here is an INI file that works with the hwcompare.nsi file and a screenshot showing the result.
Pawel#
Hi,
Doeas this plugin get correctly RAM if it is more then 4GB?
Ps: I also recommand nsdialogs.
-Pawel
pengyou#
Sorry, I don't know if it can detect more than 4 GB. My computer has 4 GB and that gets reported as 4096 MB.

The plugin does not seem to detect video RAM correctly: my graphics card has 512 MB but the plugin reports only 256 MB.

I used the HwInfo plugin from the wiki: http://nsis.sourceforge.net/HwInfo_plug-in
Pawel#
I made quick test.
For me this plugin correctly returns CPU speed and VRAM (but it seems I have only 256MB, so I dont know what if it is more installed).
RAM function failes. It shows only 4GB. I guess you should use GlobalMemoryStatusEx() instead of GlobalMemoryStatus (if you use it 😛)


-Pawel
kalverson#
Thank you. The attached ini file worked perfectly. The only thing that would make this dialog look better is if the first control was displayed with the first field not highlighted. Being in focus is ok, but the highlighted field changes the coloring.
pengyou#
You can set the focus to another control on the page to avoid this problem.

Near the end of hwcompare.nsi change
!insertmacro MUI_INSTALLOPTIONS_SHOW
to
; Set focus to the "Next" button to avoid having the cursor in the RAM size text box
GetDlgItem $R1 $HWNDPARENT 1
SendMessage $HWNDPARENT ${WM_NEXTDLGCTL} $R1 1
!insertmacro MUI_INSTALLOPTIONS_SHOW
Although I used the "Next" button here, you can change this code to set the focus to another control.
Animaether#
Originally Posted by pengyou View Post
You can set the focus to another control on the page to avoid this problem.
Not entirely sure about this specific case, but you could also set focus to the inner dialog;

SendMessage $dialog ${WM_SETFOCUS} $HWNDPARENT 0 
where $dialog is the hwnd for the inner dialog (as Pop'd from NSDialogs, for example)

That way no specific control has focus, but you can still use keyboard shortcuts (if using any).