- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我又一次陷入了一个问题,这可能很容易解决。
我想扩展一个使用 WiX 创建的设置,以更改已安装程序的配置文件。为此,我创建了一个 CustomAction。为了能够更改配置文件,我需要知道它在我的 CustomAction 中的(安装)位置。因此,我尝试将 INSTALLLOCATION 和文件名传递给我的 CustomAction。问题就在这里:CustomActionData-Attribute 始终为空,设置会引发异常。
我的 CustomAction 是一个 C# DLL 文件:DemoDatumErzeugen.CA.dll
.它包含一个方法 DatumEintragen
修改配置文件。我正在尝试以这种方式访问数据:
string path = session.CustomActionData["LOCATION"];
这是抛出异常的地方。我只收到德语错误消息,但它说的是:The supplied key was not found in the dictionary
(Der angegebene Schlüssel war nicht im Wörterbuch angegeben.
)。
这就是我尝试将属性从设置脚本传递到自定义操作的方式:
<Binary Id="DemoDatumEinrichtenCA" SourceFile="DemoDatumErzeugen.CA.dll"/>
<CustomAction Id="DemoDatum.SetProperty" Return="check" Property="DatumEintragen" Value="LOCATION=[INSTALLLOCATION];NAME=StrategieplanConfig.xml;"/>
<CustomAction Id="DemoDatum" BinaryKey="DemoDatumEinrichtenCA" DllEntry="DatumEintragen" Execute="deferred" Return="check" HideTarget="no"/>
<InstallExecuteSequence>
<Custom Action="DemoDatum.SetProperty" After="InstallFiles"/>
<Custom Action="DemoDatum" After="DemoDatum.SetProperty"/>
</InstallExecuteSequence>
我见过很多以相同或至少非常相似的方式完成的示例。我尝试了很多东西,但似乎没有什么比更改 <Custom Action="DemoDatum.SetProperty" After="InstallFiles"/>
中的值更有效了。 . CustomActionData 始终为零。
我检查它:session.CustomActionData.Count
再次感谢您在我做错的地方提供的任何帮助或提示。
最佳答案
DemoDatum.SetProperty
的Property
属性值应等于延迟操作的Id
属性值。因此,要么将属性名称更改为 DemoDatum
,要么将延迟操作的 Id
更改为 DatumEintragen
。
关于c# - WiX CustomActionData 在调用的 CustomAction 中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564090/
我在将包含分号的数据设置为 CustomActionData 属性时遇到问题。 默认情况下,CustomActionData 类使用分号作为 DataSeparator,当它包含分号时,它会破坏我的数
我尝试从 C++ dll 中的 CustomActionData 属性获取数据,但在延迟序列期间它始终为空。如果我在 UI 序列期间执行的 CA 中使用完全相同的代码,一切都会很好。
关于 CustomActionData 的 ICE03(字符串溢出)问题的回答尝试很少,但我似乎无法确定/得出解决此问题的正确(或接受)做法。 我目前的解决方案是通过保持键名和属性名都简短来减少键值对
在 .net“安装项目”中,可以在安装向导中添加一个或多个自定义屏幕,其中包含用户可以输入其他安装参数的字段(例如文本框)。 然后可以将自定义字段传递到“自定义操作”类库项目,以处理用户字段。下图显示
我又一次陷入了一个问题,这可能很容易解决。 我想扩展一个使用 WiX 创建的设置,以更改已安装程序的配置文件。为此,我创建了一个 CustomAction。为了能够更改配置文件,我需要知道它在我的 C
如何在 CustomActionData 上设置属性通过延迟自定义操作检索? 最佳答案 延迟的自定义操作无法直接访问安装程序属性 ( reference )。事实上,只有 CustomActionDa
我正在使用 WiX v3.14 构建 .Net Core 安装程序。我有一个 CustomAction - UpdateJsonAppSettings - 用 C# 编写,旨在更新作为安装一部分的 a
我是一名优秀的程序员,十分优秀!