2010-01-29 20 views
9

Tenemos una aplicación para ejecutar al inicio que permite que muchos archivos instalados se modifiquen después de la instalación. Estamos tratando de desactivar el modo de autocuración configurando la propiedad DISABLEADVTSHORTCUTS=1 en Orca. Sin embargo, no se crean accesos directos cuando se establece esta propiedad. Toda la información que he visto indica que deberíamos poder crear accesos directos "no anunciados" con DISABLEADVTSHORTCUTS=1 establecido. ¿Algunas ideas?DISABLEADVTSHORTCUTS = 1 deshabilita todos los accesos directos

He verificado que los accesos directos se crean correctamente si DISABLEADVTSHORTCUTS se deja sin cambios.

+0

Compruebe [** este artículo completo sobre cómo resolver problemas cíclicos de reparación automática **] (http://stackoverflow.com/questions/5501028/how- can-i-determine-what-causes-repeated- windows-installer-self-repair/6066263). Aunque DISABLEADVTSHORTCUTS funciona hasta cierto punto, el problema subyacente no puede resolverse a menos que usted entienda las causas. –

Respuesta

2

No puede deshabilitar la autorreparación, ¿por qué no simplemente instalar atajos no anunciados para comenzar?

No se especifica lo que estás usando para crear este paquete, pero con WiX, por ejemplo, usted acaba de establecer Shortcut/@Advertise='no'

Si usted está tratando de dar masajes a un paquete de instalación existente con Orca, consulte la documentación de el Shortcut table. Un acceso directo anunciado tendrá algo así como ProductFeature en la columna de la Target, mientras que un acceso directo no anuncian utilizará algo así como [APPLICATIONFOLDER]MyApp.exe o [#MyApp.exe]

17

Si va a crear un proyecto de instalación e implementación en Visual Studio 2008, hay un truco muy pulido para hacer que sus accesos directos no se anuncien:

Agregue un panel de cuadros de texto en el editor de la interfaz de usuario. Hacer todos los cuadros de texto invisibles. Realice una de las propiedades 'DISABLEADVTSHORTCUTS' en lugar de EDITAx. Haga el valor '1'. Sus accesos directos no serán anunciados.

Me gustaría dar crédito por esto a quien sea que lo robé, pero parece que no puedo encontrar el enlace original.

+4

Buen truco. Además, en lugar de tener este cuadro de diálogo adicional, puede hacer que este nuevo diálogo reemplace al Bienvenido, eliminando el diálogo de Welcom y colocando el texto apropiado en las propiedades de BannerTitle y BannerText del cuadro de diálogo del nuevo cuadro de texto. –

+1

Esto funciona genial. Le gana la vida a tener que meterse con ORCA – ROFLwTIME

+2

¿Por qué oh por qué debe ser tan complicado cuando podría haber sido un ajuste en las propiedades del proyecto del instalador. – LJNielsenDk

11

No estoy seguro si eso ayuda, pero podría intentarlo: hágalo programáticamente en lugar de manualmente.

Fuente mensaje:. Windows Developer Center (a través de discussweb.com)

"Copie el archivo WiRunSQL.vbs en el directorio del proyecto Ahora, en Visual Studio 2005, seleccione su proyecto de instalación en el explorador de soluciones Seleccione sus propiedades en el.. ventana de propiedades, añada la siguiente secuencia de comandos a la propiedad PostBuildEvent.

cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS', '1')" 

Este script se ejecutará automáticamente una vez que el proyecto ha sido construido e insertará los DISABLEADVTSHORTCUTS cierto valor en la tabla de propiedades MSI aplicación."

Si usted no sabe dónde encontrar el archivo WiRunSQL.vbs, lo tengo desde el siguiente sitio: svn.nuxeo.org

+2

La mejor solución que he encontrado hasta ahora es usar el Método 1 descrito anteriormente en el enlace WDC anterior, pero en lugar de editar cada .msi individual después de que está construido, use el Método 1 para establecer la propiedad en " \ Common7 \ Tools \ Deployment \ VsdSchema \ schema.msi ". Una vez que la propiedad se establece en "schema.msi", todos los archivos .msi construidos posteriormente tendrán la propiedad establecida. –

+0

Esto es todo. ¡Muchas gracias! – psulek

Cuestiones relacionadas