Pregunta

Al crear una configuración/MSI con Visual Studio, ¿es posible realizar una configuración para una aplicación simple que no requiere permisos de administrador para instalarse?Si no es posible en Windows XP, ¿es posible en Vista?

Por ejemplo, una sencilla aplicación de manipulación de imágenes que te permite pegar fotos sobre fondos.Creo que la instalación en la carpeta Archivos de programa requiere permisos de administrador.¿Podemos instalarlo en la carpeta \AppData?

El objetivo es crear una aplicación que se instalará para usuarios que no sean miembros del grupo de administradores en la máquina local y no mostrará el mensaje UAC en Vista.

Creo que una limitación de este método sería que si se instala en la carpeta de datos de la aplicación para el usuario actual, otros usuarios no podrían ejecutarlo.

Actualizar:

¿Se puede empaquetar un clic una vez instalado en un instalador normal de tipo setup.exe?Quizás se pregunte por qué queremos esto: el motivo es que tenemos un instalador que realiza una verificación de requisitos previos e instala todo lo necesario (como .NET) y luego descargamos y ejecutamos el MSI.También nos gustaría mostrar una pantalla de inicio del instalador normal, incluso si eso es lo único que se muestra.No nos importa si la aplicación solo puede ser vista por un usuario (el usuario para el que está instalada).

¿Fue útil?

Solución

ClickOnce es una buena solución a este problema.Si va a Propiedades del proyecto > Publicar, puede configurar los ajustes para esto.En particular, es bueno mirar "Modo de instalación y configuración":

  • La aplicación solo está disponible en línea; en realidad, se trata de una aplicación que se puede ejecutar una vez.
  • La aplicación también está disponible sin conexión (se puede iniciar desde el menú Inicio): esto instala la aplicación en la PC.

En realidad, no es necesario utilizar el material de implementación web de ClickOnce.Si haces una compilación > Publicar y luego comprimes el contenido de la carpeta publicar\, puedes distribuirlo efectivamente como un instalador.Para hacerlo aún más fluido, cree un archivo autoextraíble desde la carpeta que ejecuta automáticamente el archivo setup.exe.

Incluso si instala de esta manera, si opta por usarlo, la actualización en línea seguirá funcionando para la aplicación.Todo lo que tiene que hacer es poner los archivos ClickOnce en línea y colocar la URL en la página de propiedades de publicación del proyecto.

Otros consejos

Vista es más restrictivo sobre este tipo de cosas, así que si no puedes hacerlo con XP, puedes apostar que Vista tampoco te lo permitirá.

Tiene razón en que la instalación en la carpeta de archivos del programa utilizando el instalador de Windows requiere permisos administrativos.De hecho, todos los accesos de escritura a esa carpeta requiere permisos de administrador, por lo que ya no debe almacenar sus datos en la misma carpeta que su ejecutable.

Afortunadamente, si está utilizando .Net, puede utilizar la implementación ClickOnce en lugar de un msi, lo que debería permitirle realizar la instalación en una carpeta en el perfil de cada usuario sin necesidad de permisos de administrador.

La única forma que conozco de hacer esto es crear una aplicación ClickOnce en .NET 2.0+

Si el usuario de su aplicación tiene instalados los requisitos previos correctos, entonces la aplicación puede simplemente "iniciarse".

Verificar:

SI UAC está habilitado, no podrá escribir en Archivos de programa.La instalación en \AppData de hecho solo instalará el programa para un usuario.

Sin embargo, debe tener en cuenta que cualquier cambio de configuración que requiera cambios en el registro probablemente (tendría que verificarlo dos veces) privilegio de administrador.Las modificaciones que se me ocurren al fondo del escritorio se almacenan en última instancia en HKEY_CURRENT_USER.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top