Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/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
Properties WiX:将属性传递给自定义操作,已经查看过了,*仍然*不工作:(_Properties_Wix_Custom Action - Fatal编程技术网

Properties WiX:将属性传递给自定义操作,已经查看过了,*仍然*不工作:(

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

我做错了什么

请,如果您的答案是我应该使用内置服务在WiX中安装东西,请不要费心回答。这对我来说不是很好,我不想将XSLT转换应用于我的.wxs文件

根据我的日志,它正在执行两个自定义操作,但InstallAndStartServices告诉我“INSTALLFOLDER”不在session.CustomActionData字典中

<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"];