自定义操作,用于读取文件并在会话obj中存储值。有没有办法在调用其他自定义操作时将其用作属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义操作,用于读取文件并在会话obj中存储值。有没有办法在调用其他自定义操作时将其用作属性相关的知识,希望对你有一定的参考价值。

<CustomAction I'd=readValue binaryKey = custom.dll 
    DllEntryy = readfilevalue Execute= deferred Return = 
  check/>

// // In a .cs file code to read the file having method 

// readfilevalue。 //我正在设置Custom Session.write会话值(键,值);

//   In another .wxs file invoking executables
  <Custom Action = someExe After= someOtherExe>
         <!CDATA[  key < someValue]>
  <Custom>

//我可以在此Custom标签中获取键值吗?如果没有那么//我怎么能得到这个值,请建议。

答案

不,延迟操作(@ Execute =“deferred”)和共享Windows Installer会话之间存在very limited information flow。该流程包括向操作发送一些属性(包括CustomActionData),并从中接收进度信息和成功或失败,但不会像您描述的那样携带任意数据。

你看到他们的选择:

  • 立即执行第一个自定义操作,以便它可以参与规划。如果操作需要提升权限,或者访问由另一个延迟操作执行的某些操作,则此操作无效,但这是执行此操作的最“正确”方式。请注意,如果数据本身可以通过现有搜索模式(如RegistrySearch)读取,那甚至比立即自定义操作更好。
  • 合并这两个动作,因此不需要这样的信息流。
  • 使用不受支持的黑客攻击,例如共享两个操作都可以访问的Windows Installer之外的文件位置。然后你可以通过它发送信息。请注意,对此进行清理可能很难纠正,并且其不受支持的性质可能会导致深奥场景中的其他问题。 (关于获取上下文信息的链接暗示了原因。)

以上是关于自定义操作,用于读取文件并在会话obj中存储值。有没有办法在调用其他自定义操作时将其用作属性的主要内容,如果未能解决你的问题,请参考以下文章

mysql写入后立即读取数据?

用于 uid 列表的 Firebase 存储自定义元数据安全规则

C语言标识符的存储问题

“无法读取未定义的属性‘类型’”在 redux 存储中用于外部包中定义的操作

从 MAT 文件中读取 C 应用程序中的自定义类

python值大于0的数据保存