Properties WiX:将属性传递给自定义操作,已经查看过了,*仍然*不工作:(
我做错了什么 请,如果您的答案是我应该使用内置服务在WiX中安装东西,请不要费心回答。这对我来说不是很好,我不想将XSLT转换应用于我的.wxs文件 根据我的日志,它正在执行两个自定义操作,但InstallAndStartServices告诉我“INSTALLFOLDER”不在session.CustomActionData字典中Properties WiX:将属性传递给自定义操作,已经查看过了,*仍然*不工作:(,properties,wix,custom-action,Properties,Wix,Custom Action,我做错了什么 请,如果您的答案是我应该使用内置服务在WiX中安装东西,请不要费心回答。这对我来说不是很好,我不想将XSLT转换应用于我的.wxs文件 根据我的日志,它正在执行两个自定义操作,但InstallAndStartServices告诉我“INSTALLFOLDER”不在session.CustomActionData字典中 <Binary Id="ServiceInstaller" SourceFile="DeploymentItems\ServiceInstaller.CA.dl
<Binary Id="ServiceInstaller" SourceFile="DeploymentItems\ServiceInstaller.CA.dll" />
<CustomAction Id="SetInstallFolderForCA" Property="InstallAndStartServices" Value="INSTALLFOLDER=[INSTALLFOLDER]" Execute="immediate" Return="check" />
<CustomAction Id="InstallAndStartServices" BinaryKey="ServiceInstaller" DllEntry="InstallAndStartServices" Execute="immediate" Return="check" />
<InstallExecuteSequence>
<Custom Action="SetInstallFolderForCA" After="InstallFiles">NOT Installed</Custom>
<Custom Action="InstallAndStartServices" After="SetInstallFolderForCA"/>
</InstallExecuteSequence>
见:
注意:为了简洁起见,这篇博文将假设
读者已经对窗户有了深刻的理解
安装程序架构和理念。我不会尝试完全
涵盖MSI或
不同定制动作的正反两面的肮脏细节
类型。如果你没有这方面的知识,我强烈建议你
在为Windows Installer编写自定义操作之前获取它
包裹
摘要:在InstallShield Professional中创建自定义操作时
-Windows Installer Edition您有几个脚本内执行选项可供选择:
•立即执行
•推迟执行
•回滚执行
•提交执行
•系统中的延迟执行
上下文
本文解释了这些选项的含义,以及它们如何影响
在安装运行时执行自定义操作的哪个阶段。
它还帮助您在正确的位置插入自定义操作
在用户界面或执行序列中,以避免错误
诸如“无法写入脚本记录。事务未启动”之类的消息
见:
注意:为了简洁起见,这篇博文将假设
读者已经对窗户有了深刻的理解
安装程序架构和理念。我不会尝试完全
涵盖MSI或
不同定制动作的正反两面的肮脏细节
类型。如果你没有这方面的知识,我强烈建议你
在为Windows Installer编写自定义操作之前获取它
包裹
摘要:在InstallShield Professional中创建自定义操作时
-Windows Installer Edition您有几个脚本内执行选项可供选择:
•立即执行
•推迟执行
•回滚执行
•提交执行
•系统中的延迟执行
上下文
本文解释了这些选项的含义,以及它们如何影响
在安装运行时执行自定义操作的哪个阶段。
它还帮助您在正确的位置插入自定义操作
在用户界面或执行序列中,以避免错误
诸如“无法写入脚本记录。事务未启动”之类的消息
嗯。结果是我不得不在CA上延迟执行。谁能解释一下它是如何“延迟”的,以及“立即”和“延迟”之间发生了什么?如果自定义操作正在对系统进行更改,则应将其作为延迟操作运行。快速问题..为什么不使用WIX来安装和启动服务?其他信息:我很想向您解释这一切,但您已经声明,您不想知道如何以正确的方式操作。“正确的方式”似乎是使用热量,然后滥用其输出,然后手动重新做部分。对我来说,这听起来像是“错误的方式”。我没有使用WiX来安装和启动服务(总共有五个)因为那时我必须从热输出中删除服务可执行文件,然后在Product.wxs.Hmm中分别添加它们。结果证明我必须在CA上延迟执行。谁能解释它是如何“延迟”的,以及“立即”和“延迟”之间发生了什么?如果自定义操作正在对系统进行更改,则应将其作为延迟操作运行。快速问题..为什么不使用WIX来安装和启动服务?其他信息:我很想向您解释这一切,但您已经声明,您不想知道如何以正确的方式操作。“正确的方式”似乎是使用热量,然后滥用其输出,然后手动重新做部分。对我来说,这听起来像是“错误的方式”。我没有使用WiX来安装和启动服务(总共有五个)因为那时我必须从Heat输出中删除服务可执行文件,然后在Product.wxs中单独添加它们。谢谢。我想投赞成票,但我没有声誉。我似乎还为自己创建了两个独立的SO帐户…不知怎的!谢谢。我想投赞成票,但我没有声誉。我似乎也为自己创建了两个帐户分账……不知何故!
string installFolder = session.CustomActionData["INSTALLFOLDER"];