是否有其他方法可以在延迟的自定义操作中访问会话详细信息? [英] Is there alternative way to access session details in deferred custom action?
问题描述
我有一个自定义操作,需要将以下值从安装文件夹复制到VS2010文件夹中
I have a custom action and need to get below values for copying some parts from installation folder to VS2010 folder
- VS2010目录路径(
VS2010DEVENV
属性) - 安装路径(
INSTALLLOCATION
属性)
- VS2010 directory path (
VS2010DEVENV
property) - Installation path (
INSTALLLOCATION
property)
为了提供足够的特权,我将自定义操作设置为 Execute ='deferred'Impersonate ='no'
。但是在运行安装程序时,它记录了以下消息:
To give enough privileges, I've set custom action as Execute='deferred' Impersonate='no'
. But when running the installer, it logged the message:
无法通过非立即自定义操作访问会话详细信息
Cannot access session details from a non-immediate custom action
似乎我们无法通过延迟的自定义操作(即 session [ VS2010DEVENV]
)
It seems we cannot access a property in a "deferred" custom action (i.e session["VS2010DEVENV"]
)
还有其他方法可以让我根据需要检索那些值吗?
Is there any other way so that I can retrieve those values as needed?
推荐答案
这必须有用。请特别注意页面的底部,该指南包含2个步骤的指导,这些步骤介绍了如何通过 CustomActionData 。
This must be helpful. Pay special attention to the bottom of the page, a guideline of 2 steps how to pass values via CustomActionData.
以下是摘录:
要将属性的值写入安装脚本中,以便在延迟执行自定义操作期间使用
:
To write the value of a property into the installation script for use during a deferred execution custom action:
- 在安装序列中插入一个小的自定义操作,该操作将感兴趣的属性设置为与延迟执行自定义操作的
同名的属性。例如,如果延迟执行自定义操作的主键
是 MyAction,则将名称为 MyAction的属性
设置为需要检索的属性X。
必须在
自定义操作之前,在安装顺序中设置 MyAction属性。尽管任何类型的自定义操作都可以
设置上下文数据,但是最简单的方法是使用属性
分配自定义操作(例如,自定义操作类型51)。 - 在处理安装顺序时,安装程序会将属性X的值写入执行脚本
中,作为属性CustomActionData的值。
这篇关于是否有其他方法可以在延迟的自定义操作中访问会话详细信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!