08-12-2025 11:51 PM
@cy... wrote:
I got the "An internal error occurred. Value cannot be null. Parameter name: key" from using the latest NIPM online install for LabVIEW only (some additions may trigger the offline help error freeze) after choosing to check for update. the same error also happen with the offline iso
Few other seem to have faced this issue, and root cause seem to be a occaionally slow internet connection, retrying the install should work.
08-14-2025 12:17 PM
I don't seem to have this offline help viewer folder and the taskkill still gives me the same error.
08-15-2025 09:01 AM
@ThaiDo345 wrote:
I don't seem to have this offline help viewer folder and the taskkill still gives me the same error.
It's possible that you have a different root problem. There have been some issues related to network changes at NI recently. But we're also still working on the issue with the offline help file.
Would you be willing to share your log files with me? C:\Users\<username>\AppData\Roaming\ni-offline-help-viewer\logs
08-15-2025 09:39 AM
Actually took a few installation tries, but the offline folder finally showed up and I was able to move the database folder. Installation of LV 2025 worked after that.
08-30-2025 09:45 AM
The "taskkill /IM NIOfflineHelpViewer.exe" option worked for me, with a caveat. It appears that a previous installation of NI software installed a help viewer. That help viewer seems to activate to help with the installer. After killing it, it kept reopening and caused the installation to hang or crash at different times. It was also hidden from the default (Processes) task manager tab, it would only show in the Details tab. Here's what worked for me:
open an elevated command prompt (maybe not necessary to be elevated, but it can't hurt)
type: taskkill /IM NIOfflineHelpViewer.exe
open Task Manager
Go to Details tab
Run NI installer
Keep an eye on it, if NIOfflineHelpViewer.exe shows up in the Task Manger again hit enter in the command prompt.
Press up arrow in command prompt to load the previous taskkill command (or copy it to the clipboard) so you don't have to type it out each time.
09-01-2025 08:33 PM - edited 09-01-2025 08:35 PM
I think NI should release a KB fix for this, since the Offline Help Viewer issue is blocking LV from being installed or uninstalled entirely. At minimum, the fix should clean up the system to a state where NI software can be installed OOTB successfully — without needing a full Windows reset. This really needs better failure handling and recovery steps.
Users shouldn’t have to jump through hoops just to get the LV into a usable state — much like what we saw with the broken toolkit.
09-05-2025 09:17 AM
@cy... wrote:
I think NI should release a KB fix for this
Support has created the KB:
LabVIEW Installer Hangs on 'NI Offline Help Viewer' Step - NI
06-30-2026 01:25 PM
07-02-2026 02:43 PM
FYI,
I have managed to find the reason, in my situation, for the dilemma I have been having with the deadlock of the "NIOfflineHelpViewer.exe" during the NI package manager silent install setup.
It appears that the "NIOfflineHelpViewer.exe" is a binary where at least some, or most of it's development was done by a company called "zoomin-software", and some part of the development is done in Javascript.
Once the "NIOfflineHelpViewer.exe" is installed, there is a Javascript file called ...
"C:\Program Files (x86)\National Instruments\Shared\Offline Help Viewer\resources\app.asar"
... and that file contains a line of code which calls "cacls" to set an ACL on the "C:\ProgramData\National Instruments\Offline Help Viewer" folder.
The "cacls" code line looks something like this ...
'cacls "'.concat(e,'" /E /P "%username%:C"')
The problem is that, during our SCCM install process the "NIOfflineHelpViewer.exe" will be running as user "NT Authority\SYSTEM" and the %username% variable will contain the computers name with a "$" appended. Example: PC1$
Under an Intra ID domain joined PC, the name PC1$ can't be looked up by "cacls" to obtain the SID for the account. So we get the error returned "No mapping between account names and security IDs was done." But, under an AD joined PC, Windows "cacls" can lookup the SID normally.
So, if the line of Javascript is changed in the following way ...
'cacls "'.concat(e,'" /E /P "%computername%:C"')
... then our LabVIEW will install without issues on our Azure PCs.
So, to resolve this issue as a quick-fix temporary solution, we have modified our SCCM package to install the "NIOfflineHelpViewer.exe" first, then modifiy the file "C:\Program Files (x86)\National Instruments\Shared\Offline Help Viewer\resources\app.asar" to contain the changed data above that uses the %computername% instead of the %username% environment variable.
I thought this information might be important for anyone suffering from this "bug" for the same reasons we are.
IMPORTANT!!! I actually believe this is an Intra ID/Win11 issue and not neccessarily a National Instruments bug, but nevertheless the method above can only be used when the "NIOfflineHelpViewer.exe" is installed as user SYSTEM and not as a regular user of course.
Rodney
07-07-2026 08:51 AM
Hi, I would like to add an addendum to my previous post about the deadlocking of the "NIOfflineHelpViewer.exe" during the LabVIEW NI package manager install.
There's actually no reason to modify the following file at all during the install processing to temporarily work around this deadlocking problem:
"C:\Program Files (x86)\National Instruments\Shared\Offline Help Viewer\resources\app.asar"
Instead, during your install scripting, the %USERNAME% variable will be inherited by the "NIOfflineHelpViewer.exe" process, which in turn inherits the variable from the NI package manager, which can inherit the variable from your package scripting. This means that if the %USERNAME% environment variable can be set by your parent packaging script, and then the "NIOfflineHelpViewer.exe" will eventually inherit it.
So, our SCCM packaging is done in PowerShell, and here's the code I've now added in our PowerShell script to solve the problem:
if ( $null -ne $ENV:USERNAME )
{
if ( $ENV:USERNAME.EndsWith('$') )
{
$ENV:USERNAME = $ENV:COMPUTERNAME
}
}
I thought this extra information would be important for anyone trying to work around this deadlock.