使用 Wix 或自定义操作更改 .msi 的安装位置
Change installation location of .msi using Wix or custom action
我已经使用 Wix 构建了一个安装程序,但每当我 运行 它时,文件都会安装在 Program files
C 盘上。我想要几个文件说 a
、b
、c
安装在 Program Data
文件夹中,还有几个 d
、e
、f
在 D:\x\y
文件夹中。请帮我。我应该如何编写自定义操作并调用它。
Yogesh 你误解了 MSI 的工作原理。以 C:\Program Files\AppFolder 为目标的文件应该放在它们自己的组件中。
以 C:\Program Data\CompanyName\AppName 为目标的文件应该在它们自己的组件中。
每个组件都有一个目标目录。
此外,在将文件添加到组件时,您必须遵循组件规则,即在单个组件中不能有多个 chm、exe、dll、ocx 等 文件。您必须为这些类型的每个唯一文件添加多个组件。您可以将其他文件与其中之一相关联,例如假设您的 app.exe 文件在其自己的 'app.exe' 组件中,您可以将关联的 .config 文件或 .xml 文件添加到这个组件也是如此。
您不需要 需要自定义操作来将文件复制到 C:\Program Data\CompanyName\AppName 文件夹。
我已经使用 Wix 构建了一个安装程序,但每当我 运行 它时,文件都会安装在 Program files
C 盘上。我想要几个文件说 a
、b
、c
安装在 Program Data
文件夹中,还有几个 d
、e
、f
在 D:\x\y
文件夹中。请帮我。我应该如何编写自定义操作并调用它。
Yogesh 你误解了 MSI 的工作原理。以 C:\Program Files\AppFolder 为目标的文件应该放在它们自己的组件中。 以 C:\Program Data\CompanyName\AppName 为目标的文件应该在它们自己的组件中。
每个组件都有一个目标目录。
此外,在将文件添加到组件时,您必须遵循组件规则,即在单个组件中不能有多个 chm、exe、dll、ocx 等 文件。您必须为这些类型的每个唯一文件添加多个组件。您可以将其他文件与其中之一相关联,例如假设您的 app.exe 文件在其自己的 'app.exe' 组件中,您可以将关联的 .config 文件或 .xml 文件添加到这个组件也是如此。
您不需要 需要自定义操作来将文件复制到 C:\Program Data\CompanyName\AppName 文件夹。