Solución:
Después de hacer clic en Propiedades de cualquier instalador (.exe) que bloquea la instalación de su aplicación (Windows Defender SmartScreen impidió una aplicación no reconocida) para ese problema, encontré una solución
- Haga clic derecho en el instalador (.exe)
- Seleccione la opción de propiedades.
- Haga clic en la casilla de verificación para comprobar Desatascar en la parte inferior de Propiedades.
Esta solución funciona para Heroku CLI (heroku-x64) instalador (.exe)
Si tiene un certificado de firma de código estándar, su aplicación necesitará algo de tiempo para generar confianza. Microsoft afirma que un certificado de firma de código de validación extendida (EV) nos permite omitir este período de creación de confianza. Según Microsoft, los certificados de validación extendidos permiten al desarrollador establecer inmediatamente una reputación con SmartScreen. De lo contrario, los usuarios verán una advertencia como “Windows Defender SmartScreen impidió que se iniciara una aplicación no reconocida. La ejecución de esta aplicación podría poner en riesgo su PC”, con los dos botones: “Ejecutar de todos modos” y “No ejecutar”.
Otro recurso de Microsoft afirma lo siguiente (cita): “Aunque no es obligatorio, los programas firmados por un certificado de firma de código EV pueden establecer inmediatamente una reputación con los servicios de reputación de SmartScreen incluso si no existe una reputación previa para ese archivo o editor. Los certificados de firma de código EV también tienen un identificador único que facilita el mantenimiento de la reputación durante las renovaciones de certificados “.
Mi experiencia es la siguiente. Desde 2005, hemos estado utilizando certificados de firma de código regulares (no EV) para firmar archivos .MSI, .EXE y .DLL con marcas de tiempo, y nunca ha habido un problema con SmartScreen hasta 2018, cuando solo hubo un caso en el que Tomó 3 días para que una versión beta de nuestra aplicación generara confianza, ya que la lanzamos a los probadores beta, y estaba en medio del período de validez del certificado. No sé qué podría no gustarle a SmartScreen en esa versión específica de nuestra aplicación, pero no ha habido quejas de SmartScreen desde entonces. Por lo tanto, si su certificado no es EV, es una aplicación firmada (como un archivo .MSI) que generará confianza con el tiempo, no un certificado. Por ejemplo, un certificado puede emitirse hace unos meses y usarse para firmar muchos archivos, pero por cada archivo firmado que publique, SmartScreen puede tardar unos días en dejar de quejarse del archivo después de la publicación, como sucedió en nuestro caso en 2018.
Como conclusión, para evitar la advertencia por completo, es decir, evitar que suceda incluso de repente, necesita un certificado de firma de código de validación extendida (EV).
ACTUALIZAR: Otro artículo aquí:
Cómo agregar editor en Installshield 2018
(podría ser mejor).
No estoy muy bien informado sobre este problema, pero vea si esta respuesta a otra pregunta le dice algo útil (y avísenos para que podamos desarrollar una mejor respuesta aquí): ¿Cómo pasar la protección SmartScreen de Windows Defender? Esa pregunta se relaciona con BitRock, una tecnología de instalación que no es MSI, pero el problema general parece ser el mismo.
Extracto de uno de los enlaces señalados en mi respuesta anterior: “… un certificado ya no es suficiente para ganar confianza … SmartScreen se basa en la reputación, no muy diferente de la forma en que funciona StackOverflow … SmartScreen confía en los instaladores que no causan problemas. Las máquinas Windows envían telemetría a Redmond sobre programas instalados y cuántos problemas causan. Si obtiene suficientes pulgares hacia arriba, SmartScreen dejará de bloquear su instalador automáticamente. Esto lleva tiempo y muchas instalaciones para obtener suficientes pulgares. No hay forma de saber qué tan avanzado ha llegado “.
Honestamente, todo esto es una novedad para mí en este momento, así que contáctenos con cualquier información que encuentre usted mismo.
El texto del cuadro de diálogo real que ha marcado anteriormente definitivamente se relaciona con el Zone.Identifier
flujo de datos alternativo con un valor de 3
que se agrega a cualquier archivo que se descarga de Internet (consulte la respuesta vinculada más arriba para obtener más detalles).
No pude marcar esta pregunta como un duplicado de la anterior, ya que no tiene una respuesta aceptada. Dejemos las dos preguntas abiertas por ahora. (una pregunta es para MSI, otra es para no MSI).