In order for the SigmaPlot 13 software to communicate with the concurrent license server, each user account must have a specialized .ini file in its profile. It is unclear to me why the developers did not use %ProgramData% (instead of the %LocalAppData%) but the unfortunate result is that new users need the .ini file before the software can launch. I am publishing a guide on how to automate this process. I deploy via SCCM but you are welcome to use it standalone instead.
When SigmaPlot 13 launches, it looks for a hasp_107466.ini file in "%LocalAppData%\SafeNet Sentinel\Sentinel LDK" that specifies the IP address or DNS name of the concurrent license server. Since each new user that logs in would need this file created, we will automate the process by replacing the SigmaPlot 13 shortcut with a custom script that copies the .ini file before launching the SigmaPlot 13 executable.
To accomplish this, we will prepare the following files:
- SPW13_Install.MSI (Download and extract MSI file from SigmaPlot 13 executable)
- SigmaPlot Installer.cmd (Batch script for installing SigmaPlot 13 and copying depencies)
- SigmaPlot Launcher.cmd (Batch script for copying .ini file before launching SPW.exe)
- Invisible Launcher.vbs (VBScript to silently launch SigmaPlot Launcher CMD prompt window)
- SigmaPlot 13.0.lnk (Custom shortcut)
- hasp_107446.ini (Custom .ini file that specifies your network license server)
- sp~pagwf.dll (SigmaPlot 13 HotFix)
- Download SPW_WebInstall.zip from their website
- Launch the SPW_WebInstall.exe file until it opens to the "Welcome to the SigmaPlot 13.0 Installation Wizard" page
- The .MSI file will be extracted in "%PROGRAMFILES(X86)%\Common Files\Wise Installation Wizard"
REM Script to install SigmaPlot 13 (64-bit)
msiexec /i "SPWInstall_13.MSI" /qn /norestart /l*v %USERPROFILE%\sigmainstall.log
copy /y "sp~pagwf.dll" "C:\Program Files (x86)\SigmaPlot\SPW13"
copy /y "hasp_107466.ini" "C:\Program Files (x86)\SigmaPlot\SPW13"
copy /y "Invisible Launcher.vbs" "C:\Program Files (x86)\SigmaPlot\SPW13"
copy /y "SigmaPlot Launcher.cmd" "C:\Program Files (x86)\SigmaPlot\SPW13"
copy /y "SigmaPlot 13.0.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SigmaPlot"
copy /y "SigmaPlot 13.0.lnk" "C:\Users\Public\Desktop"
REM Install SigmaPlot 13 license before launching
IF EXIST "%LocalAppData%\SafeNet Sentinel\Sentinel LDK\hasp_107466.ini" (GOTO END)
IF NOT EXIST "%LocalAppData%\SafeNet Sentinel" (mkdir "%LocalAppData%\SafeNet Sentinel")
IF NOT EXIST "%LocalAppData%\SafeNet Sentinel\Sentinel LDK" (mkdir "%LocalAppData%\SafeNet Sentinel\Sentinel LDK")
copy "C:\Program Files (x86)\SigmaPlot\SPW13\hasp_107466.ini" "%LocalAppData%\SafeNet Sentinel\Sentinel LDK"
timeout /t 1 >nul
start "" "C:\Program Files (x86)\SigmaPlot\SPW13\Spw.exe"
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
Target: C:\Windows\System32\wscript.exe "Invisible Launcher.vbs" "SigmaPlot Launcher.cmd"
Start In: "C:\Program Files (x86)\SigmaPlot\SPW13\"
SERVERADDR = licsrv.example.org
This hotfix is available on the SigmaPlot 13 website (link here) and addresses an issue with the "Graph Page" ribbon tab.
It's definitely not "best practice" but it works! I have SigmaPlot 13 available in Software Center (SCCM) as well as a standalone installer for my technicians. Don't forget that batch scripts do not natively support UNC paths in case you decide to run it from a network share.
Long story short, let me know if you have any questions in the comment section!