Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在wix中开始安装之前复制文件_C#_Wix_Installation_Wix3.5 - Fatal编程技术网

C# 在wix中开始安装之前复制文件

C# 在wix中开始安装之前复制文件,c#,wix,installation,wix3.5,C#,Wix,Installation,Wix3.5,可能重复: 我的wix目录结构有问题 实际上,我想在开始真正的安装之前复制temp文件夹中的一些文件,并在自定义操作中使用这些文件。我的问题是,有一种方法可以在安装开始之前复制文件 我认为wix会在安装过程中复制文件 我是wix新手,网上没有好的教程 因为我想用我的自定义操作而不是wix复制文件 这是您在安装项目中可能犯的最大错误之一。Windows Installer(所有安装背后的底层技术)可以非常出色地完成几件事情,将文件复制到目标系统就是其中之一 如果您更详细地查看自己的问题,您会注意

可能重复:

我的wix目录结构有问题

实际上,我想在开始真正的安装之前复制temp文件夹中的一些文件,并在自定义操作中使用这些文件。我的问题是,有一种方法可以在安装开始之前复制文件

我认为wix会在安装过程中复制文件

我是wix新手,网上没有好的教程


因为我想用我的自定义操作而不是wix复制文件

这是您在安装项目中可能犯的最大错误之一。Windows Installer(所有安装背后的底层技术)可以非常出色地完成几件事情,将文件复制到目标系统就是其中之一

如果您更详细地查看自己的问题,您会注意到差异:您希望在安装开始之前复制文件(即复制文件的过程)

如果您想迁移到WiX,但要将所有自定义操作一起拉出来并重用它们,我看不出这种迁移有任何意义。为了充分利用WiX,请在任何地方使用WiX方式

所以,如果有一天我得到这样的任务,我会这么做:

  • 坐下来浏览您当前的安装项目,并记下它实际执行的每个操作
  • 完成此列表后,对其进行过滤,保留其实际应执行的操作
  • 了解使用WiX的标准工具可以执行该列表中的哪些操作(Windows Installer自然支持)
    • 顺便说一句,文件复制就是其中之一
  • 了解使用标准WiX扩展(如IIsExtension或UtilExtension)可以完成剩下的操作
  • 如果还剩下一些操作(我希望这个列表会很小),请为这些操作编写自定义操作
    • 确保你的

希望这能为您提供一些进一步调查的提示。

我想不出为什么您要求在执行自定义操作之前,安装中的文件尚未复制到位,这样做会容易得多,因为WiX已经非常擅长将文件复制到目标文件系统。因为我想用自定义操作而不是WiX复制文件。实际上,我将安装项目安装程序转换为WiX。在我的安装项目中,所有工作都是用自定义操作完成的,我想重新使用它,而不是用WiX的新逻辑再次编写这里有很多很好的教程,只是在学习WiX之前学习MSI并不容易,而且是最好的。如果你想用大量自定义操作来完成所有事情,那么转换成WiX有什么意义?使用这种方法,您的解决方案不是WiX,而是不同的东西;在这种方法中,WiX更像是一个障碍,而它应该是一个助手。WiX在UI方面有一些有趣的特性。WiX在UI上对安装项目有很大的控制。Wix安装程序无需Vs和其他更多功能即可轻松编译。