Creé mi instalador MSI para nuestra aplicación C# a través de VS 2008. Lo instalé. Creó un acceso directo para mí en el escritorio. Hice clic en ese atajo, el proceso de configuración se ejecutó de nuevo y al final se lanzó nuestra aplicación. No fue así ayer, antes de agregar alguna acción personalizada para crear una base de datos. No recreé el atajo en el instalador. ¿Por qué es así?¿Por qué el acceso directo creado por mi instalación de MSI inicia el proceso de configuración cada vez?
Respuesta
MSI viene con una función de reparación automática que comprueba si todos los componentes instalados por MSI todavía están presentes cuando inicia su aplicación utilizando el acceso directo.
En su caso, probablemente uno (o más) componentes se han eliminado por lo que el instalador se inicia de nuevo para reparar su instalación.
Para evitar la auto-reparación de correr ya sea
- Asegúrese de que no hay ningún archivo, configuración de registro u otro componente instalado se retira
o
- No establecer la clave camino para esos componentes. Eso evitará que MSI verifique esos componentes específicos
De sus otras preguntas parece que su MSI ha sido creada por un Proyecto de instalación e implementación de Visual Studio. Lamentablemente, no hay ninguna opción para modificar la ruta de la clave desde Visual Studio. Dispone de las siguientes opciones:
- modificar el MSI manualmente utilizando Orca (Esto no es una buena opción, ya que es un paso manual)
- escribir un guión, por ejemplo, usando VBScript para parchear el archivo MSI
- Mover a un estadio más avanzado sistema que le da más control tales como WiX o NSIS
¿El atajo apunta a su aplicación o configuración? Si apunta a su configuración y la cambia a su aplicación, ¿el problema desaparece?
Suena como el sistema piensa que la instalación se ha corrompido y está intentando automáticamente una instalación de reparación, .Cualquier cosa en los registros de eventos (busque el origen de MsiInstaller en el registro de eventos de la aplicación).
¿Has estado creando copias múltiples?
Abra el MSI manualmente con Orca. Añadir el siguiente registro a la tabla Property (Propiedad, Valor) sin las comillas:
propiedad = 'DISABLEADVTSHORTCUTS' Valor = '1'
Esto también puede ser escrito y se ejecuta como parte de un evento posterior a la acumulación .
ideal para la configuración de vs2005. 10x – parzival
Tenía el mismo problema. En mi caso, resultó que los campos 'Fabricante' y 'NombreProducto' estaban dentro de las propiedades del Proyecto Deoplyment. Tiene que ser el mismo que la estructura de carpetas a la que apunta su atajo, de lo contrario terminará con el error 'El recurso' C: \ Archivos de programa (x86) [Fabricante] [ProductName] \ 'no existe' dentro Visor de eventos.
Esto ocurre cuando la aplicación elimina un archivo que se implementó durante la instalación. La reparación automática está activada y, por lo tanto, obtienes la pantalla de instalación.
¡Funcionó para mí, gracias! Tenía un archivo 'config.txt' obsoleto olvidado en la Configuración, pero este archivo se elimina y se reemplaza por un archivo 'config.xml' cuando se inicia la aplicación. Eliminar el archivo de la Configuración fue suficiente. – Elo
- 1. ¿Por qué mi proyecto de instalación de Visual Studio inicia IE cuando se completa la instalación?
- 2. ¿Por qué mi proyecto de instalación no realizará mi proceso de registro personalizado?
- 3. Creando un instalador MSI por primera vez
- 4. Restringir Acceso Directo a archivo llamado por el Ajax Función
- 5. ¿Por qué se llama mi fragmento onCreate extensivamente cada vez que paso por mis aplicaciones viewPager?
- 6. Instalación de Django por primera vez
- 7. ¿Por qué el instalador de MSI se configura de nuevo si elimino un archivo?
- 8. cómo finalizar un proceso creado por CreateProcess()?
- 9. Aplicación de Android que no se inicia desde el acceso directo
- 10. Proyecto de instalación VS2008: Desinstalar el MSI anterior
- 11. Acceso directo e icono de escritorio Linux desde la instalación
- 12. Monit no inicia el proceso
- 13. ¿Cómo configuro AppUserModelID en el acceso directo?
- 14. ¿Por qué cada proceso necesita su propia tabla de páginas?
- 15. Configuración del icono correcto para Acceso directo en VS2010 Proyecto de instalación
- 16. ¿Por qué el ejecutable creado de mi pyinstaller requiere privilegios de administrador?
- 17. ¿Por qué no se recomienda llamar a LoggerFactory.getLogger (...) cada vez?
- 18. ¿Por qué recibo una advertencia cada vez que uso malloc?
- 19. ¿Cómo puedo determinar por qué mi proceso termina?
- 20. ¿Por qué necesito purgar el grupo de conexiones cada vez que vuelvo a implementar?
- 21. ¿Recibió Delphi alguna vez por cada ciclo?
- 22. ¿Es posible determinar qué proceso inicia mi aplicación .Net?
- 23. ¿Por qué esta función devuelve un valor diferente cada vez?
- 24. ¿Cómo puedo crear una configuración de MSI?
- 25. ¿Cómo hacer que gdb ejecute una función definida por el usuario (definida en .gdbinit) cada vez que se inicia?
- 26. ¿Qué es el directorio "src" creado por Eclipse?
- 27. ¿Por qué gwt podría ser cada vez más popular?
- 28. ¿Por qué no se recomienda el acceso directo a la propiedad en OOPs PHP?
- 29. ¿Por qué mi machineKey cambia cada vez que presiono una nueva versión de mi rol web de Azure?
- 30. ¿Por qué Visual Studio inicia varios WebDevs cuando depuro?
tienes razón. Eliminé algunos archivos de configuración temporal (archivos por lotes y archivos sql). Necesito encontrar una manera de evitar esto. gracias – 5YrsLaterDBA
@ 5YrsLaterDBA: Como su configuración parece bastante compleja, definitivamente debe echar un vistazo a otras formas que no sean VS para crear su configuración. De todos modos, los proyectos de instalación de VS morirán en el futuro. Si está utilizando VS 2010 también puede probar InstallShield LE. –
Lamentablemente, los proyectos de configuración VS (VDPROJ) no tienen la capacidad de controlar los archivos clave (todos los recursos, incluidas las claves de registro, son un único archivo de clave para un solo componente) y no hay manera de deshabilitar los accesos directos anunciados. Tienes que ser un buen Maestro Jedi de MSI para saber cómo hackear el problema. Sugiero mirar InstallShield 2010LE o WiX. VDPROJ murió hace muchos años. –