c#-高级安装程序,通过命令行调用带有标志/参数的自定义MSI?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-高级安装程序,通过命令行调用带有标志/参数的自定义MSI?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1454字,纯文字阅读大概需要3分钟。
内容图文
![c#-高级安装程序,通过命令行调用带有标志/参数的自定义MSI?](/upload/InfoBanner/zyjiaocheng/676/b142f242ba1149d7b49b5ec7bf05befd.jpg)
我已经创建了一个自定义MSI程序包,并且我正在与Advanced Installer一起尝试添加某种命令行参数,即可以触发的“标志”.触发该标志时,它将导致安装程序中发生一系列事件(删除某些文件,四处移动文件夹,提取zip文件…等等.)
换句话说,可以说我有从高级安装程序生成的exe,名为installer.exe.
我想从命令行调用installer.exe –triggerEvents,它将触发安装程序本身内的一系列自定义事件.
经过一些研究,我发现了一篇与我的问题相关的非常好的文章:
How to Pass Command Line Arguments to MSI Installer Custom Actions
但是看来作者严格把重点放在MSI上,而不是Advanced Installer上,我宁愿利用我正在使用的这个应用程序.
是否可以通过传入我想要的任何参数来简单地调用安装程序,并通过会话使用自定义操作来抓取它?还是有使用AI做到这一点的方法?
解决方法:
您应该能够使用AdvancedInstaller(“安装参数”页面,“属性”)在MSI中创建public property.请注意,公共属性必须为ALL_CAPS,而私有属性可以包含小写字母.
在自定义操作中引用公共属性,以在运行时检索该属性的值.
从命令行调用msi时,可以像这样设置公共属性的值:
msiexec.exe /i "C:\MyAwesomeApp.msi" AWESOME_PROP="myValue"
从您的描述看来,您正在编译MSI into a bootstrapper.我的理解是,bootstrapper exe会代表您将公共属性的参数传递给MSI,例如:
C:\MyAwesomeApp.exe /i AWESOME_PROP="myValue"
我发现要让您的自定义操作引用公共财产的内容并按照您希望的方式运行,需要花费大量的尝试和错误,但这可能是因为我并不擅长创作MSI的.就我而言,我发现构建小型的测试安装程序作为一种概念验证或多或少地帮助我调试了我想做的事情.一旦正确,就将其添加到正在使用的实际AIP文件中,并在那里进行测试.冲洗并根据需要重复!
内容总结
以上是互联网集市为您收集整理的c#-高级安装程序,通过命令行调用带有标志/参数的自定义MSI?全部内容,希望文章能够帮你解决c#-高级安装程序,通过命令行调用带有标志/参数的自定义MSI?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。