Nullsoft Installer (NSIS) Get Value and save to file.

I am working on an installer for specific tinc-vpn installations. I need to have nullsoft installer ask me for two things:

1. The VPN address
2. The name of the computer on the VPN network.

These values will be written to text files by the installer (that's a later step).

for now, I am trying to figure out how to access the vars once they have been put in.

Here's what I have so far:
!include LogicLib.nsh
!include nsDialogs.nsh

Name nsDialogs
OutFile nsDialogs.exe

XPStyle on

Var Dialog
Var Label1
Var Label2
Var IPAddr
Var VPNName

Page custom nsDialogsPage nsDialogsPageLeave
Page instfiles

Function nsDialogsPage
	nsDialogs::Create 1018
	Pop $Dialog
	
	${If} $Dialog == error
		Abort
	${EndIf}
	
	${NSD_CreateLabel} 0 0 100% 12u "What's Your IP Address on the VPN?"
	Pop $Label1
	
	${NSD_CreateText} 0 12u 100% 12u ""
	Pop $IPAddr
	
	${NSD_CreateLabel} 0 24u 100% 12u "What's Your IP Address on the VPN?"
	Pop $Label2
	
	${NSD_CreateText} 0 36u 100% 12u ""
	Pop $VPNName
	
	nsDialogs::Show
	
FunctionEnd

Function nsDialogsPageLeave
	${NSD_GetText} $VPNName $0
	DetailPrint "VPN Name: $0"
Function End

Section

SectionEnd

Open in new window


This, of course, fails in the compiler. Does anyone know how to make this work? I just want to do something simple: prompt for a text value, then store that text value in a text file, and copy that file to a desination...
LVL 32
DrDamnitAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Joe Winograd, EE Fellow 2017, MVE 2016, MVE 2015Connect With a Mentor DeveloperCommented:
Hi Michael,
Just checking in to see where things stand on this. Regards, Joe
0
 
Joe Winograd, EE Fellow 2017, MVE 2016, MVE 2015DeveloperCommented:
Hi Michael,

The compile failure is due simply to a typo:

Function End should be FunctionEnd

That is, no space between the words — this will fix the compile problem and will now produce this:

nsis script fixedBut the second prompt should be something like this:

"What's Your Computer Name on the VPN Network?"

...instead of a second occurrence of:

"What's Your IP Address on the VPN?"

Regards, Joe
0
 
Joe Winograd, EE Fellow 2017, MVE 2016, MVE 2015DeveloperCommented:
Michael,
Checking in again. What's the scoop? Regards, Joe
0
 
DrDamnitAuthor Commented:
I ultimately scrapped this and did it with VB script. But your answer was the correct one. Awarding points.
0
 
Joe Winograd, EE Fellow 2017, MVE 2016, MVE 2015DeveloperCommented:
Thanks for the update...and for the points! Regards, Joe
0
All Courses

From novice to tech pro — start learning today.