Fondo:
Tengo un proyecto en el que necesito proporcionar al usuario un paquete de descarga con algunos datos confidenciales. Los datos deben estar encriptados. Después de descargarlo, deben poder verlo (no es necesario editarlo). Para esta pregunta, aproximaremos los datos como una serie de archivos html estáticos. Debido a que los datos son confidenciales, deben cifrarse cada vez que están en el disco.
Estamos pensando en proporcionar al usuario una opción de descarga que le dé un archivo zip que contenga dos archivos:
- Un archivo de datos (probablemente usaríamos un archivo zip cifrado detrás de escena) con los datos que solicitaron
- Una aplicación para ver los datos que solicitarían una frase de contraseña y manejar el descifrado de los datos y mostrarlos a través de un navegador web incorporado.
Detalles adicionales:
- Los usuarios no están bajo nuestro control. Son consumidores.
- No nos preocupa la multiplataforma en esta pregunta. Esto es solo sobre Windows. Tendremos una descarga por separado para usuarios de Mac.
Vaya a la pregunta ya:
Para esa aplicación que necesitamos crear, estamos debatiendo internamente si es razonable que esa aplicación sea una aplicación .NET winforms. Queremos un único .exe, y queremos que la descarga sea razonablemente pequeña (por ejemplo, 100k).
- ¿Nos atrevemos a usar el marco .NET (no necesitamos usar una versión particularmente reciente de .NET - 2.0 estaría bien)?
- ¿Es razonable suponer que la mayoría de los consumidores tienen .NET en sus máquinas ahora debido a Windows Update?
- ¿Es razonable preguntar a los que no lo tienen para instalarlo?
Sabemos que no el 100% de los usuarios tendrán instalado .NET. La verdadera pregunta es si es razonable pedirles que la tengan hoy en día.
PD: ¿Alguien sabe de alguna estadística confiable de qué porcentaje de personas ya tiene instalado .NET?
fuente
Respuestas:
De forma predeterminada, Windows XP no incluye ninguna versión del marco .NET. Vista y Server 2008 incluyen .NET Framework 3.0, Windows 7 y Server 2008R2 incluyen .NET 3.5, y Windows 2000 no puede admitir nada por encima de .NET 2.0.
Con eso en mente, todo se reduce a la extensión del sistema operativo en su público objetivo. Enumeraría el requisito de forma destacada en la página de descarga y proporcionaría un enlace a la sección Actualización / Descargas de Microsoft para la descarga del marco, además de la descarga de su aplicación.
fuente
No sé si es razonable pedirles que lo tengan o no. Sin embargo, sé que los clientes a menudo no son razonables, por lo que no veo que sea importante. Si está tratando con un número limitado de clientes, pregúnteles. Si está tratando con más clientes de los que razonablemente puede hablar, o va a recoger clientes con el tiempo, solo asegúrese de que vean el requisito antes de comprar.
fuente
¿En qué versión de Windows están sus usuarios?
Si es Windows Vista, tendrán instalado .NET 3 por defecto y si es Windows 7 tendrán la versión 3.5. Fuente .
Eso no ayuda si están en XP, pero como Microsoft acaba de detener la compatibilidad con SP2, deberían estar en SP3.
Si usa algo como "ClickOnce" (hay otros instaladores disponibles) puede hacer que la versión relevante de .NET Framework sea un requisito previo y la descargará e instalará por usted; no está incluida en su instalador . Si le preocupa el tamaño de la descarga, puede ir a .NET 3.5 o 4 y crear el Perfil del cliente, que es una descarga mucho más pequeña, aunque la versión .NET 4 es más flexible.
fuente
Hace un tiempo leí algunas publicaciones de Paint.NET sobre el proceso de instalación y cómo mejorarlo. Echa un vistazo a estas dos entradas de blog. El primero describe la incomodidad de instalar .NET Framework por separado; el segundo describe cómo el autor lo integró como parte de la instalación.
La experiencia de instalación de Paint.NET - Parte 1, versión 3.xx (la antigua mala manera)
La experiencia de instalación de Paint.NET - Parte 2, versión 4.0 (la nueva buena manera)
Entonces, incluso si va a requerir .NET Framework, y no está seguro de si los usuarios lo tendrán, al menos puede integrar su instalación con su aplicación de una manera razonablemente indolora.
fuente
Muchos usuarios corporativos no tienen la última versión de Windows (todavía en XP), pero creo que más usuarios domésticos se han actualizado debido al nuevo hardware. Descargar e instalar es un poco difícil. ¿Es este archivo generalmente una cosa única por cliente o continuarán obteniendo archivos en el futuro?
¿Cuáles son tus otras opciones? ¿Son suficientes los archivos Acrobat protegidos con contraseña? Sería mucho más fácil bloquear: guardar, imprimir, copiar y pegar.
Parece que estás reinventando la rueda, pero no tengo todos los detalles.
fuente
Investigué un poco sobre el tema rastreando datos en más de 10000 instalaciones en todo el mundo para una aplicación de escritorio dirigida a .Net Framework 3.5 sp1. Solo un grupo (aproximadamente 10) no tenía el marco adecuado instalado. Eliminé el pesado archivo de instalación de .NET Framework del instalador, y todavía no noté ningún problema.
Le recomiendo que realice el mismo estudio en su mercado y decida en función de los resultados en lugar de las respuestas que pueda obtener en comunidades como esta.
fuente
Depende de su demografía ...
Si quisiera que alguien [1] pudiera usarlo, financiaría una aplicación de 32 bits que se ejecutaría en Win98 y W7.
Eso probablemente significa cosas de C ++ / MFC.
[1] Cualquier persona con una máquina menor de 12 años que tenga una conexión a Internet que ejecute Windows 98+.
fuente
.NET 4 ahora es parte de la actualización de Windows (la KB se emitió en julio de 2010). Mientras la máquina esté actualizada en sus actualizaciones de Windows, entonces está prácticamente garantizado que tienen .NET 4.
fuente
Si sabe que el 100% de sus clientes no lo tienen, ¿por qué codificó la aplicación con .net?
Podría haber usado Java y crear una aplicación de inicio web.
Pero, de hecho, puede agrupar el marco .net con el instalador. Si el Cliente confía en usted para instalar su Aplicación, también instalará .net.
fuente
Solo asegúrese de que el paquete que envíe contenga una dependencia de la versión requerida del marco. Luego, el administrador de paquetes que tiene el usuario extraerá la versión de marco necesaria y la instalará antes de su paquete.
Oh, el sistema operativo al que te diriges tiene un sistema de administración de paquetes muy dañado, ¿qué no puede hacer esto? Debería ser un mal SO entonces. Bueno, entonces solo tiene una opción: requerir que este marco esté instalado y proporcionar el enlace para que el usuario lo haga. No veo cómo se benefician los usuarios, si una parte notable de lo que hacen los desarrolladores se dedica a la compatibilidad inútil con las herramientas del sistema operativo "estándar" (en su lugar, podría dedicar este tiempo a corregir errores y agregar funciones).
fuente