LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with a Simple LabVIEW Installer using the Nullsoft Install System (NSIS)

Hello there,

I'm hoping someone can point the error in my ways on putting a this simple NSIS installer together...

I'm having problems calling National Instruments's MSI installer created by LabVIEW 8.2.1 under XP SP2. I'm using NSIS 2.34. I've been through the very through example of merging various installers here:

http://nsis.sourceforge.net/Embedding_other_installers

This example works fine and illustrates how to call existing installers. I modified this .nsi script to include two driver installations and then finally my LabVIEW installer. When I compile the script, it builds and testing the installation works until I reach the LabVIEW installer. It NSIS installer terminates with "Fatal Error. Unable to find initialization file.". My directory structure is flat will the NSIS installer at the root, the LabVIEW setup.exe in the root and the other two installers in an "installers" directory. I'm thinking my syntax may be incorrect for the LabVIEW Installer part. I've looked at the setup.exe params (setup.exe /?) but this doesn't seem to help.

Directory Structure

C:\test\                   Location of  LabVIEW Installer (setup.exe) and NSIS unified installer.
C:\test\installers    Location of app1, app2

Can anyone point me in the right direction here? I've enclosed my NSIS script below.

-Chroma


; Script generated by the HM NIS Edit Script Wizard.
 
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "MY APPLICATION"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "MY COMPANY"
 
SetCompressor lzma
 
;!include "UserManagement.nsh"
 
 
; MUI 1.67 compatible ------
!include "MUI.nsh"
 
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
 
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; Components page
!insertmacro MUI_PAGE_COMPONENTS
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
 
; Language files
!insertmacro MUI_LANGUAGE "English"
 
; Reserve files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
 
; MUI end ------
 
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "UnifiedInstall.exe"
InstallDir "$PROGRAMFILES\MYCOMPANY"
ShowInstDetails show
 
Section -SETTINGS
  SetOutPath "$INSTDIR"
  SetOverwrite ifnewer
SectionEnd

;------------------------------------------------------------------------------------------------------
 
Section "App1" SEC01
  File "installers\app1.exe"
  ExecWait "$INSTDIR\app1.exe"
SectionEnd

;------------------------------------------------------------------------------------------------------

Section "App2" SEC02
  File "installers\app2.exe"
  ExecWait "$INSTDIR\app2.exe"
SectionEnd

;------------------------------------------------------------------------------------------------------

; **** HAVING PROBLEMS HERE!!! ****

Section "LabVIEW Installer" SEC03
  File "setup.exe"
  ExecWait "$INSTDIR\setup.exe"
; ExecWait '"msiexec" /i "$INSTDIR\setup.exe" /passive'
; ExecWait "$INSTDIR\setup.exe /s /v"/qb"
SectionEnd



FYI - http://nsis.sourceforge.net/Main_Page

0 Kudos
Message 1 of 12
(4,674 Views)
I'm not familiar with NSIS, but looking at your description and the script file, I see this.
 
The application installers are 1 directory level below the NI installer.  Your two app installers are called with $INSTDIR\app1.exe and $INSTDIR\app2.exe so it sounds like $INSTDIR is the \installers directory.
 
But your NI installer is called by ExecWait "$INSTDIR\setup.exe" making it sound like its in the same directory, but by your description it is 1 level higher.  Perhaps it should be set one level higher by way of some other variable name ($NSISDIR  ???), or write it as ExecWait "$INSTDIR\..\setup.exe".  If I remember correctly from many years ago in the days of DOS, .. was the setting to go up one directory level.
0 Kudos
Message 2 of 12
(4,670 Views)
Thanks for your feedback. I hear what you are saying but this doesn't follow with the sample example here:

http://nsis.sourceforge.net/Embedding_other_installers

If you look at this example, it shows the syntax for various installers in the root and in subfolders.

The issue still remains will the LabVIEW Installer...

-Chroma
0 Kudos
Message 3 of 12
(4,643 Views)

Hi Chroma,

 

I have also not used NSIS, but from the error code, I think the issue may be that the path you are pointing to is not able to find the initialization (ini) file.

Is this is an installer for the LabView program itself or just an application built by LabView? 

If it is the actual LabView 8.2.1, then you'll need to include the entire contents of the installation folder as is for the path.  In the folder you are pointing to, be sure setup.ini is located.

If it is just an application that you are distributing as an executable, then make sure that you have {Your application name}.ini in your folder. 

Let me know if this works.

 

0 Kudos
Message 4 of 12
(4,631 Views)
Hmm, it's very entertaining when people answer questions on this forum by beginning with.... "I have also not used xxxxx" - begs the question whether you are wasting your own time or have a call/forums stats that need improving...

In answer to your question - it's an application built by LabVIEW.

-Chroma
0 Kudos
Message 5 of 12
(4,627 Views)
You may find this difficult to believe, but sometimes people can actually help even though they haven't used the application you're trying to use. Your response is basically a slap in the face to people who are genuinely trying to help. We don't do this to improve our forum stats. People on this forum who respond, like me, are just trying to apply their experience to help others.

In fact, I had fiddled with NSIS previously, but I have no desire to help you given your attitude. Frankly, I'd be surprised if anyone is willing to help you at this point.


Message Edited by smercurio_fc on 01-22-2008 04:00 PM
Message 6 of 12
(4,610 Views)

Hi Chroma,

 

Thank you very much for responding so quickly.  As National Instruments Applications Engineers, our duty is to provide top-notch technical support for our customers.  Routinely, we answer questions on the community message boards, so that we can provide additional guidance that our users may not have thought about.  Our commitment to superior technical support is so strong that we have a deadline of one business day after a forum post to monitor, confirm, or answer a question that has not yet been answered.  Our goal with this deadline is that we do not compromise the quality of our answers in order to answer the questions in time.  However, in this case, I was not clear if you had included the .ini file in the folder you were creating your .exe file from.

We encounter users who have very little to no experience with National Instruments products to users who have been using our products for years.  Often times, it is difficult to gauge the user's expertise, especially over a discussion forum. 

Although Nullsoft Install System is not a National Instruments product, I would like to assist you in resolving this issue.  My previous suggestion was a first step to try, and often times technical support involves a step-by-step process.  A very constuctive approach to resolving the issue would be to verbalize the steps you have taken so far. 

You can also use the LabView application builder to create an installer that includes your executables.

0 Kudos
Message 7 of 12
(4,606 Views)
smercurio_fc - I hear you but have you ever gone from NI problem to NI problem getting no resolution and under deadlines? My apologies but answers that bearly scratch the surface do not really add value for system integrators or newbies alike.

-Chroma
Message 8 of 12
(4,569 Views)
Of all the people out there with experience with NI products and software, only a very tiny percentage will have had any experience with this installer software you are using.  In fact, you may be the only person.  Just because the people who have answered haven't used that software doesn't mean the answers don't have value.  Sometimes people who aren't intimately familiar with the application can see something that could help that you won't see because you are too deep into the problem.  So if our answers that "barely (spell it right!) scratch the surface" don't add value for you, then apparently we are wasting our time!
Message 9 of 12
(4,556 Views)
This forum is not for ranting either, leave it out.

-Chroma
0 Kudos
Message 10 of 12
(4,541 Views)