显示对话框时如何发布 CustomAction
How do I publish a CustomAction when Dialog is showing
我遵循 Fragment
来定义我的 CustomAction
(实际上我的 CA 项目中有 2 个方法)
<Fragment>
<Binary Id="FooAssembly"
SourceFile="Foo.CA.dll" />
<CustomAction Id="Action1"
BinaryKey="FooAssembly"
DllEntry="Action1" />
<CustomAction Id="Action2"
BinaryKey="FooAssembly"
DllEntry="Action2" />
</Fragment>
我的 Action1
看起来像这样:
[Microsoft.Deployment.WindowsInstaller.CustomAction]
public static ActionResult Action1(Microsoft.Deployment.WindowsInstaller.Session session)
{
session["value1"] = "some value";
session["value2"] = "some value";
return ActionResult.Success;
}
现在我需要 运行 这个 CustomAction
当我的对话框显示时并将值 value1
绑定到 Edit
-control 就像这样:
<Dialog Id="FooDlg">
<Control Id="FooEdit"
Type="Edit"
Text="[value1]"
Property="value1"
Disabled="yes" />
</Dialog>
我的 InstallUISequence
看起来像这样
<InstallUISequence>
<Show Dialog="FooDlg"
After="CostFinalize" />
</InstallUISequence>
我在这里使用 Edit
-control,因为我需要一些边框 - Text
缺失 - 因此我需要填充 Property
属性。
我怎样才能做到这一点?
我已经通过调整我的 InstallUISequence
来解决这个问题
<InstallUISequence>
<Custom Action="Action1"
After="CostFinalize" />
<Show Dialog="FooDlg"
After="Action1" />
</InstallUISequence>
我遵循 Fragment
来定义我的 CustomAction
(实际上我的 CA 项目中有 2 个方法)
<Fragment>
<Binary Id="FooAssembly"
SourceFile="Foo.CA.dll" />
<CustomAction Id="Action1"
BinaryKey="FooAssembly"
DllEntry="Action1" />
<CustomAction Id="Action2"
BinaryKey="FooAssembly"
DllEntry="Action2" />
</Fragment>
我的 Action1
看起来像这样:
[Microsoft.Deployment.WindowsInstaller.CustomAction]
public static ActionResult Action1(Microsoft.Deployment.WindowsInstaller.Session session)
{
session["value1"] = "some value";
session["value2"] = "some value";
return ActionResult.Success;
}
现在我需要 运行 这个 CustomAction
当我的对话框显示时并将值 value1
绑定到 Edit
-control 就像这样:
<Dialog Id="FooDlg">
<Control Id="FooEdit"
Type="Edit"
Text="[value1]"
Property="value1"
Disabled="yes" />
</Dialog>
我的 InstallUISequence
看起来像这样
<InstallUISequence>
<Show Dialog="FooDlg"
After="CostFinalize" />
</InstallUISequence>
我在这里使用 Edit
-control,因为我需要一些边框 - Text
缺失 - 因此我需要填充 Property
属性。
我怎样才能做到这一点?
我已经通过调整我的 InstallUISequence
来解决这个问题
<InstallUISequence>
<Custom Action="Action1"
After="CostFinalize" />
<Show Dialog="FooDlg"
After="Action1" />
</InstallUISequence>