Nos gustaría marcar una pieza de software en función del sitio web del cliente del que se descargue. Por ejemplo, mostrando el logotipo del cliente, etc. Todo lo que necesitamos es una identificación, el software puede manejar el resto de la personalización en tiempo de ejecución en función de eso.
La cantidad de personalizaciones es potencialmente grande y nos gustaría evitar la compilación previa y el almacenamiento de estos instaladores.
Estoy abierto a considerar todas las opciones, especialmente algunas ideas listas para usar.
Creo que es imposible cambiar un instalador firmado (exe/dmg) sin romper la firma.
Algunas ideas con las que estoy jugando (y sus compensaciones):
Los navegadores basados en Chromium como Google Chrome, Chromium, Opera, Microsoft Edge, etc. guardan la URL de origen y la URL de referencia para todos los archivos descargados en Windows 10 (solo en sistemas de archivos NTFS) y Linux (solo en Ext4).
Para obtener más información, consulte, por ejemplo , aquí . En Windows, también se puede acceder a los metadatos desde la línea de comandos o directamente desde Java .
Parece que hay una característica similar en Mac. Véase, por ejemplo, esta pregunta sobre superusuario.
Acceder a estos metadatos desde su instalador podría ayudar a personalizar el comportamiento de su instalador. Si bien los datos no estarán disponibles en todas las configuraciones (p. ej., Internet Explorer almacena solo un ID de zona y no una URL) y pueden perderse (p. ej., un usuario elimina los datos o copia el archivo en un sistema de archivos que no admite metadatos), podría cubrir adecuadamente a la mayoría de sus usuarios. Pedirle a los usuarios que ingresen un código cuando no se encuentran los metadatos aún podría usarse como una alternativa.
La principal preocupación que tendría con este enfoque es que los desarrolladores de Chromium pueden decidir eliminar esta característica en un futuro cercano o hacerla opcional, como los desarrolladores de wget (ver, por ejemplo , aquí )
En la última versión de Windows 10, sigo recibiendo los siguientes metadatos para un archivo descargado con la última versión de Google Chrome y Microsoft Edge Browser:
[ZoneTransfer] ZoneId=3 ReferrerUrl=https://httpd.apache.org/ HostUrl=https://mirror.klaus-uwe.me/apache//httpd/httpd-2.4.46.tar.bz2