Skip to content

x64 Installer Fails on Windows Server 2022 #822

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bcchrisupp opened this issue Jan 16, 2024 · 7 comments
Open

x64 Installer Fails on Windows Server 2022 #822

bcchrisupp opened this issue Jan 16, 2024 · 7 comments

Comments

@bcchrisupp
Copy link

Issue and Steps to Reproduce

Try to install 64bit MSI for v0.6.0.1

msiexec /i NSCP-0.5.2.41-x64.msi

Expected Behavior

NSClient/NSCP is installed.

Actual Behavior

Error is displayed citing that a DLL is missing, but does not mention which DLL is missing.

Details

  • NSClient++ version: 0.6.0.1
  • OS and Version: Windows Server 2022
  • Checking from: Nagios 3.5.1
  • Checking with: check_nrpe, check_nt

Additional Details

NSClient++ Install log:

=== Logging started: 1/15/2024  16:44:54 ===
Action 16:44:54: INSTALL. 
Action start 16:44:54: INSTALL.
Action 16:44:54: System64Folder.DFEFC2FE_EEE6_424C_841B_D4E66F0C84A3. 
Action start 16:44:54: System64Folder.DFEFC2FE_EEE6_424C_841B_D4E66F0C84A3.
Action ended 16:44:54: System64Folder.DFEFC2FE_EEE6_424C_841B_D4E66F0C84A3. Return value 1.
Action 16:44:54: FindRelatedProducts. Searching for related applications
Action start 16:44:54: FindRelatedProducts.
Action ended 16:44:54: FindRelatedProducts. Return value 1.
Action 16:44:54: NeedUninstall. 
Action start 16:44:54: NeedUninstall.
CustomAction NeedUninstall returned actual error code 1157 (note this may not be 100% accurate if translation happened inside sandbox)
Info 2898. For WixUI_Font_Normal textstyle, the system created a 'Tahoma' font, in 0 character set, of 13 pixels height.
Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action NeedUninstall, entry: NeedUninstall, library: C:\Users\ADMINI~1.BCR\AppData\Local\Temp\MSI9768.tmp 
MSI (c) (E8:80) [16:44:56:754]: Product: NSClient++ (x64) -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action NeedUninstall, entry: NeedUninstall, library: C:\Users\ADMINI~1.BCR\AppData\Local\Temp\MSI9768.tmp 

Action ended 16:44:56: NeedUninstall. Return value 3.
Action 16:44:56: FatalError. 
Action start 16:44:56: FatalError.
Info 2898. For WixUI_Font_Bigger textstyle, the system created a 'Tahoma' font, in 0 character set, of 19 pixels height.
Action 16:44:56: FatalError. Dialog created
Action ended 16:44:57: FatalError. Return value 2.
Action ended 16:44:57: INSTALL. Return value 3.
Property(C): UpgradeCode = {0B36E3B7-0042-452D-B376-57E0C07ADDBB}
Property(C): WixUIRMOption = UseRM
Property(C): MONITORING_TOOL = GENERIC
Property(C): KEY_NRPEMODE = SAFE
Property(C): ALLUSERS = 1
Property(C): ProgramFiles64Folder = C:\Program Files\
Property(C): ProgramMenuFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\
Property(C): SourceDir = C:\temp\
Property(C): VersionNT = 603
Property(C): VersionNT64 = 603
Property(C): ARPCOMMENTS = NSClient++ is a monitoring Agent for amongst other systems Nagios
Property(C): ARPCONTACT = [email protected]
Property(C): ARPHELPLINK = http://nsclient.org
Property(C): ARPURLINFOABOUT = http://nsclient.org
Property(C): ARPURLUPDATEINFO = http://nsclient.org
Property(C): ARPHELPTELEPHONE = http://nsclient.org
Property(C): ARPPRODUCTICON = nscp.exe
Property(C): ALLOW_CONFIGURATION = 1
Property(C): HELP_LINK = http://nsclient.org/nscp/
Property(C): SERVICE_NAME = nscp
Property(C): APP_TITLE = NSClient++ Monitoring Agent
Property(C): Manufacturer = MySolutions NORDIC
Property(C): ProductCode = {861F060F-BC8F-406B-A4DE-41CAF61B0D27}
Property(C): ProductLanguage = 1033
Property(C): ProductName = NSClient++ (x64)
Property(C): ProductVersion = 0.6.0001
Property(C): DefaultUIFont = WixUI_Font_Normal
Property(C): WixUI_Mode = Mondo
Property(C): ErrorDialog = ErrorDlg
Property(C): SecureCustomProperties = NEWERVERSIONDETECTED;OLDERVERSIONBEINGUPGRADED
Property(C): System64Folder.DFEFC2FE_EEE6_424C_841B_D4E66F0C84A3 = C:\Windows\system32\
Property(C): DirectoryTable100_amd64.DFEFC2FE_EEE6_424C_841B_D4E66F0C84A3 = DirectoryTable
Property(C): MsiLogFileLocation = C:\temp\logadm.txt
Property(C): PackageCode = {9028E591-0C3F-46FD-9D55-60E268021152}
Property(C): ProductState = -1
Property(C): PackagecodeChanging = 1
Property(C): CURRENTDIRECTORY = C:\temp
Property(C): CLIENTUILEVEL = 0
Property(C): CLIENTPROCESSID = 6632
Property(C): VersionDatabase = 405
Property(C): VersionMsi = 5.00
Property(C): WindowsBuild = 9600
Property(C): ServicePackLevel = 0
Property(C): ServicePackLevelMinor = 0
Property(C): MsiNTProductType = 3
Property(C): MsiNTSuiteDataCenter = 1
Property(C): WindowsFolder = C:\Windows\
Property(C): WindowsVolume = C:\
Property(C): System64Folder = C:\Windows\system32\
Property(C): SystemFolder = C:\Windows\SysWOW64\
Property(C): RemoteAdminTS = 1
Property(C): TempFolder = C:\Users\ADMINI~1.BCR\AppData\Local\Temp\
Property(C): ProgramFilesFolder = C:\Program Files (x86)\
Property(C): CommonFilesFolder = C:\Program Files (x86)\Common Files\
Property(C): CommonFiles64Folder = C:\Program Files\Common Files\
Property(C): AppDataFolder = C:\Users\Administrator\AppData\Roaming\
Property(C): FavoritesFolder = C:\Users\Administrator\Favorites\
Property(C): NetHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
Property(C): PersonalFolder = C:\Users\Administrator\Documents\
Property(C): PrintHoodFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
Property(C): RecentFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent\
Property(C): SendToFolder = C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo\
Property(C): TemplateFolder = C:\ProgramData\Microsoft\Windows\Templates\
Property(C): CommonAppDataFolder = C:\ProgramData\
Property(C): LocalAppDataFolder = C:\Users\Administrator\AppData\Local\
Property(C): MyPicturesFolder = C:\Users\Administrator\Pictures\
Property(C): AdminToolsFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
Property(C): StartupFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\
Property(C): StartMenuFolder = C:\ProgramData\Microsoft\Windows\Start Menu\
Property(C): DesktopFolder = C:\Users\Public\Desktop\
Property(C): FontsFolder = C:\Windows\Fonts\
Property(C): GPTSupport = 1
Property(C): OLEAdvtSupport = 1
Property(C): ShellAdvtSupport = 1
Property(C): MsiAMD64 = 6
Property(C): Msix64 = 6
Property(C): Intel = 6
Property(C): PhysicalMemory = 8191
Property(C): VirtualMemory = 6862
Property(C): AdminUser = 1
Property(C): MsiTrueAdminUser = 1
Property(C): LogonUser = Administrator
Property(C): UserSID = S-1-5-21-2525071850-818645377-3966584971-500
Property(C): UserLanguageID = 1033
Property(C): ComputerName = MGM12
Property(C): SystemLanguageID = 1033
Property(C): ScreenX = 2206
Property(C): ScreenY = 1239
Property(C): CaptionHeight = 23
Property(C): BorderTop = 1
Property(C): BorderSide = 1
Property(C): TextHeight = 16
Property(C): TextInternalLeading = 3
Property(C): ColorBits = 32
Property(C): TTCSupport = 1
Property(C): Time = 16:44:57
Property(C): Date = 1/15/2024
Property(C): MsiNetAssemblySupport = 4.8.4161.0
Property(C): MsiWin32AssemblySupport = 6.3.20348.1668
Property(C): RedirectedDllSupport = 2
Property(C): MsiRunningElevated = 1
Property(C): Privileged = 1
Property(C): USERNAME = Windows User
Property(C): DATABASE = C:\temp\NSCP-0.6.0.1-x64.msi
Property(C): OriginalDatabase = C:\temp\NSCP-0.6.0.1-x64.msi
Property(C): SOURCEDIR = C:\temp\
Property(C): VersionHandler = 5.00
Property(C): UILevel = 5
Property(C): ACTION = INSTALL
Property(C): EXECUTEACTION = INSTALL
=== Logging stopped: 1/15/2024  16:44:57 ===
MSI (c) (E8:80) [16:44:57:817]: Windows Installer installed the product. Product Name: NSClient++ (x64). Product Version: 0.6.0001. Product Language: 1033. Manufacturer: MySolutions NORDIC. Installation success or error status: 1603.

I've attempted to install it while only having .Net 4.8 feature installed as with as while having the older .Net 3.5 feature installed and it makes no difference either way.

@michaelsbach
Copy link

michaelsbach commented Apr 23, 2024

I'm trying to look into this as well.

This might be related to the commented-out lines in
https://github.com/mickem/nscp/blame/0.6.0.1/installers/installer-NSCP/Product.wxs

"Need_Uninstall" also references this, but these haven't been touched in years.
https://github.com/mickem/nscp/blob/0.6.0.1/installer_lib/installer_lib.cpp

What's interesting is v0.5 installs fine on newer OS, but it seems v0.6 struggles with anything after Windows 2012.

@xdeymosx
Copy link

xdeymosx commented May 10, 2024

If have this issue try to install "Microsoft Visual C++ 2015 Redistributable Update 3 RC " or later, before NSClient++ 0.6.0.1 installation.

@axurexia
Copy link

No, you have to install the last version of MV C++ 2015. The 14.40.33810.0. This solves the issue.

@deloid
Copy link

deloid commented Feb 4, 2025

I might be missing something and this is an accepted practice, but it looks like the MSI contains and attempts to overwrite the VC Runtime DLLS in %windir%\system32 as part of the MainProgram feature? This seems like a very bad idea.

I've just had a bunch of servers restart critical services (SMS Agent, IIS, WMI, SQL) when installing 0.6.7 onto hosts that had a VC++ 2015 runtime below what's in the MSI (14.42.34433.0).

Image

Shouldn't the redist installation be handled separately, either launched by the installer or failed if not the correct version?

@mickem
Copy link
Owner

mickem commented Feb 4, 2025

The installer uses a merge module (https://github.com/mickem/nscp/blob/main/installers/installer-NSCP/Product.wxs#L30) from Microsoft to install the VC runtimes. So the procedure should be fine. There are two potential issues though.

  1. I think it might be the wrong version which is installed (143 were we should have 141): https://github.com/mickem/nscp/blob/main/installers/installer-NSCP/CMakeLists.txt#L85 That said I am pretty sure all versions are "the same" nowadays.
  2. The installer likely also needs the runtime, so not 100% sure the runtime is installed before the installer DLL:s run.

So I need to look into this a bit...

So currently to be sure install the runtimes before you install

@deloid
Copy link

deloid commented Feb 4, 2025

Thank you for the explanation, I did suspect I may be misunderstanding.

In the meantime I've worked around it by specifying REINSTALLMODE=pmus in my install command to not overwrite when file exists.

@deloid
Copy link

deloid commented Feb 5, 2025

I did come across this though about merge module deprecation - https://learn.microsoft.com/en-us/cpp/windows/redistributing-components-by-using-merge-modules?view=msvc-170.

acaire added a commit to acaire/chocolatey-nscp that referenced this issue Feb 23, 2025
This is an attempt to fix the installer issues as per
mickem/nscp#822.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants