我正在使用 wix 3.0。我有一个文件夹名称“图像”。所以我想将图像中的所有文件复制到 msi 包中。当我复制所有文件并将 msi 安装到另一台 PC 时,它没有绑定图像。当我使用简单的文件元素时,文件将绑定到 msi 包。所以我该怎么做,
尽快回复我
谢谢你萨米尔
我正在使用 wix 3.0。我有一个文件夹名称“图像”。所以我想将图像中的所有文件复制到 msi 包中。当我复制所有文件并将 msi 安装到另一台 PC 时,它没有绑定图像。当我使用简单的文件元素时,文件将绑定到 msi 包。所以我该怎么做,
尽快回复我
谢谢你萨米尔
显然,您想要创建一个可以生成屏幕保护程序安装程序的应用程序,其中包括用户选择的许多图像文件——一种专门用于创建屏幕保护程序安装程序的 InstallShield 应用程序。
我将首先创建一个完成大部分工作的模板 MSI 文件(使用 wix 或其他东西)。您不知道用户稍后会选择哪些文件,因此添加一个 ID 为“UserSelectedFiles”的占位符组件。将此模板 MSI 文件与您的应用程序一起分发。
然后,当用户想要生成新的安装程序时,首先复制模板。编辑复制的 msi,以便它也安装用户选择的文件。您可以使用“部署工具基础”API 中的 .NET 类来执行此操作。这是 wix 附带的一组程序集;看看
C:\program files\Windows Installer
XML v3\sdk
。
我只将 DTF API 用于一些简单的东西,例如这个计算 MSI 中的文件表条目的示例:
var database = new Database(@"\path\to\some\file.msi");
var list = database.ExecuteQuery("SELECT FileName FROM File");
Console.WriteLine(list.Count);
你的情况会有点复杂。你可能不得不
Microsoft.Deployment.Compression.Cab
命名空间中找到的类的图像文件。Database.Merge