2009-10-08 10 views
6

Estoy trabajando en un proyecto de instalación en Visual Studio, y me gustaría que el usuario pueda especificar si desea crear un acceso directo de escritorio y/o un acceso directo al menú de inicio mediante las casillas de verificación.Visual Studio: Crear accesos directos condicionalmente en el proyecto de instalación?

Puedo tener el instalador para crear accesos directos de trabajo en las ubicaciones apropiadas, y agregué un diálogo que contiene casillas de verificación al instalador; sin embargo, no puedo tener la creación (o la falta de ella) de estos accesos directos conectados al estado de estas casillas de verificación.

Supongo que tengo que establecer las propiedades de "Condición", pero no estoy seguro de la sintaxis específica. ¿Es esto posible, y si es así, cómo voy a lograr esto?

Respuesta

3

Esto no es posible.

Mire aquí Microsoft Forum para obtener una respuesta de Microsoft en abril de este año que cubre el mismo problema que el suyo.

+0

Hmm, eso es muy desafortunado; pero esa es una respuesta bastante definitiva. Gracias. – Donut

6

El elemento de retroalimentación ligado dijo:

En el caso de que desea que la casilla de verificación para control sólo si el acceso directo de la instalación, y no su objetivo, no existe actualmente ninguna solución en los proyectos de instalación de Visual Studio, y esto se logra mejor a través de un conocimiento adicional de MSI y un script posterior a la construcción para modificar manualmente su MSI después de cada compilación, o migrando a una herramienta más avanzada (y flexible) para el desarrollo de la instalación (por ejemplo, Windows Installer XML).

No puede hacerlo dentro de la interfaz de apuntar y hacer clic con el botón VS, pero en realidad no es difícil de hacer lo que quiera con una acción personalizada simple.

alt text

definir una secuencia de comandos, en VBScript o JavaScript. Puede configurar la acción personalizada para que se ejecute en función de cualquier condición, incluida una casilla de verificación en un cuadro de diálogo.

alt text

Dentro de la secuencia de comandos, se analiza la entrada, y crear el acceso directo. Usé la convención para separar args del guión con un | personaje, así es como lo analizo:

var parameters = Session.Property("CustomActionData").split("|"); 
var targetDir = parameters[0]; 
var checkBoxState = parameters[1]; 
Cuestiones relacionadas