Node.js MSI install fails on Windows 11 due to Smart App Control blocking custom action DLL (Error 1723)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 122k
- Forks
- 37.3k
- Merge medio
- 4 d 2 h
- PR fusionados (30 d)
- 283
Descripción
Version
24.15.0
Platform
Microsoft Windows NT 10.0.26200.0 x64
Subsystem
No response
What steps will reproduce the bug?
- Open an elevated PowerShell session.
- Run:
Start-Process winget.exe -ArgumentList 'install --id OpenJS.NodeJS.LTS -e --accept-package-agreements --accept-source-agreements' -Verb RunAs -Wait - Wait for the installer to start.
- Observe Windows Security notification:
- "This app has been blocked partly"
- "Windows Installer may not work correctly because it could not verify what MSI2C91.tmp was trying to load"
- Installation fails.
How often does it reproduce? Is there a required condition?
Always, with Smart App Control (SAC) enabled on Windows 11.
What is the expected behavior? Why is that the expected behavior?
winget install --id OpenJS.NodeJS.LTS should complete successfully on Windows 11 with SAC enabled.
What do you see instead?
Installation fails. Windows Security / SAC blocks a temporary DLL loaded by Windows Installer during a custom action. The main MSI package is signed, but installation fails with Error 1723.
Additional information
Application log / MsiInstaller:
Product: Node.js -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run.
Action SetInstallScope, entry: SetInstallScope, library: C:\Windows\Installer\MSI2C91.tmp
CodeIntegrity / Operational:
Code Integrity determined that a process (msiexec.exe) attempted to load C:\Windows\Installer\MSI2C91.tmp that did not meet the Enterprise signing level requirements or violated code integrity policy
Smart App Control Block Details
- MSI payload downloaded by winget is signed and valid (
Get-AuthenticodeSignaturereportsStatus : Valid). - Not caused by winget arguments, GPO, MDM, or domain-join policy.
- Blocked file:
C:\Windows\Installer\MSI2C91.tmploaded bymsiexec.exe. - SmartAppControlState: On
- CI\Policy: VerifiedAndReputablePolicyState = 1
- Block occurs when
msiexec.exeloads the temporary DLL for custom actionSetInstallScope.
[!NOTE]
The Node.js MSI contains a custom action namedSetInstallScope. SAC appears to block the temporary custom-action DLL generated during installation, not the signed MSI package itself. If this is expected, a clearer error message identifying the blocked install step and affected component would help troubleshooting.
[!TIP]
Turn SAC off to work around.
You can turn it on later manually without a clean installation (the former documentation is obsolete if you have gotten recent Windows updates).
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza reproduciendo la instalación de Windows 11 con Smart App Control habilitado y rastrea la acción personalizada de MSI llamada SetInstallScope. Revisa cómo el MSI de Node.js empaqueta y carga su DLL de acción personalizada, y luego verifica que la instalación se complete sin Error 1723 o produzca un diagnóstico más claro para el componente bloqueado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, nodejs
- Área
- operating-systems, release
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100