Solved

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

Posted on 2014-04-09
5
755 Views
Last Modified: 2014-05-12
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...
0
Comment
Question by:DrDamnit
  • 4
5 Comments
 
LVL 52

Expert Comment

by:Joe Winograd, EE MVE
ID: 39990527
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
 
LVL 52

Accepted Solution

by:
Joe Winograd, EE MVE earned 500 total points
ID: 40007169
Hi Michael,
Just checking in to see where things stand on this. Regards, Joe
0
 
LVL 52

Expert Comment

by:Joe Winograd, EE MVE
ID: 40040663
Michael,
Checking in again. What's the scoop? Regards, Joe
0
 
LVL 32

Author Comment

by:DrDamnit
ID: 40059456
I ultimately scrapped this and did it with VB script. But your answer was the correct one. Awarding points.
0
 
LVL 52

Expert Comment

by:Joe Winograd, EE MVE
ID: 40059468
Thanks for the update...and for the points! Regards, Joe
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Monitor input from a computer is usually nothing special.  In this instance it prevented anyone from using the computer.  This was a preconfiguration that didn't work.
If you don't know how to downgrade, my instructions below should be helpful.
Windows 8 comes with a dramatically different user interface known as Metro. Notably missing from the new interface is a Start button and Start Menu. Many users do not like it, much preferring the interface of earlier versions — Windows 7, Windows X…
This Micro Tutorial will give you a introduction in two parts how to utilize Windows Live Movie Maker to its maximum capability. This will be demonstrated using Windows Live Movie Maker on Windows 7 operating system.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question