当前位置: 首页 > 编程语言 > C#

我需要一个MSI自定义操作,从MSI源目录复制文件分享

时间:2023-04-11 01:57:12 C#

C#学习教程:我需要一个从MSI源目录复制文件的MSI自定义操作项目。我正在尝试编写一个自定义操作,将设置文件从存储在文件服务器上的MSI文件的源目录(例如服务器文件共享myappinstallermysetting.xml)复制到安装我的应用程序的计算机上的目标目录(例如C:程序文件我的应用程序)。无法将设置文件添加到安装程序,因为它包含安装应用程序的客户独有的设置。有没有人有这种自定义操作的代码(最好是C#或VB.NET)?或者,有谁知道如何在自定义操作(例如服务器文件共享myappinstaller)中获取MSI源位置。非常感谢我通过将/InstallerPath="[OriginalDatabase]"添加到自定义操作的CustomActionData(在安装项目的自定义操作选项卡中)并在自定义操作中使用以下代码读取值来解决这个问题:PublicOverridesSubCommit(ByValsavedStateAsSystem.Collections.IDictionary)MyBase.Commit(savedState)DimdirectoryOfMSIAsString=IO.Path.GetDirectoryName(Context.Parameters("InstallerPath"))'在这里工作'...EndSub再见!Stefan我建议您将XML文件作为要安装的组件之一添加到安装程序中。这将是最简单的方法,不需要自定义操作。WiX可能是您的选择。它允许您在安装期间使用XmlConfig自定义XML配置文件。我做了类似的事情,但在MSI文件中发布默认配置,然后使用MST添加自定义配置文件。它更可靠,因为一切都是Windows安装程序的“本机”,我只需要向每个客户发送一个小的自定义MST。有关如何执行此操作的更多信息,请参阅在MSI中替换小文件的最简单解决方案?通常,WindowsInstaller中的自定义操作会使用msi表中的内容将内容放入msi中的任何表中。此外,WindowsInstaller-Team拒绝为该程序安装任何托管扩展,原因在网络上随处可见。但是,我前段时间发现为WindowsInstallers创建托管自定义操作的扩展可以与WiX一起使用并且仍然有效,但是在这项工作之上有一个更新的解决方案,它是WiX的真正扩展,允许管理自定义操作.以上是C#学习教程:我需要一个MSI自定义操作,从MSI源码目录复制文件共享的所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处: