Pregunta

Estoy usando wix 3.0. Tengo un nombre de carpeta '' images ''. Así que quiero copiar todos los archivos de las imágenes en el paquete msi. Cuando copio todo el archivo e instalo msi en otra PC, entonces no se vinculó las imagenes. Y cuando uso un elemento de archivo simple, los archivos se enlazan al paquete msi. Entonces, ¿qué debo hacer,

Respondeme pronto

Gracias Samir

¿Fue útil?

Solución

Aparentemente, desea crear una aplicación que pueda generar un instalador de salvapantallas que incluya una serie de archivos de imagen seleccionados por el usuario & # 8212; un tipo de aplicación InstallShield especializada solo para crear instaladores de protectores de pantalla.

Primero crearía un archivo MSI de plantilla (con wix     o algo más) que hace la mayor parte de     la obra. No sabe qué archivos seleccionará el usuario más adelante, por lo tanto, agregue un componente de marcador de posición con el ID " UserSelectedFiles " ;. Distribuir esto     plantilla de archivo MSI con su aplicación.

Luego, cuando el usuario quiere generar un     nuevo instalador, comience copiando el     modelo. Edite el msi copiado para que también instale los archivos seleccionados por el usuario. Puedes hacer esto con las clases .NET     puedes encontrar en el " despliegue     herramientas de base " API Este es un conjunto de ensamblajes que vienen con wix; echa un vistazo a      C: \ archivos de programa \ Windows Installer     XML v3 \ sdk .

Solo he usado la API de DTF para algunas cosas simples, como este ejemplo que cuenta las entradas de la tabla de archivos en el MSI:

var database = new Database(@"\path\to\some\file.msi");
var list = database.ExecuteQuery("SELECT FileName FROM File");
Console.WriteLine(list.Count);

Tu caso será un poco más complicado. Probablemente tendrá que

  • generar un archivo CAB que contiene los archivos de imagen con las clases que encontrar en el Microsoft.Deployment.Compression.Cab espacio de nombres.
  • fusionar el archivo CAB en el msi con Database.Merge
  • Agregar nuevas entradas a la tabla Archivo de la MSI
  • Cambie el código del producto a algo único para cada MSI generado
  • etcétera

Para tener una idea del contenido de un archivo MSI y cómo se puede editar, le recomiendo que primero juegue un poco con el orca y msidb herramientas.

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