2
<InstallUISequence>
  <Custom Action="myActionid"
          Before="ExecuteAction">NOT Installed</Custom>
</InstallUISequence>

我用它来设置我的 customAction 何时运行,但它似乎在我想要的时候运行。在详细日志中我看到了这个

*

*

在此处输入图像描述

我的动作运行得太快了我需要它在执行动作之前运行(或在中间粗体部分和执行动作之间)

因为在那之后属性发生了变化,我无法获得正确的值

或者使属性停止更改,这也可以。

这些属性是INSTALLDIR我复制的含义的副本,BrowseDlg并将 installdir 对话框制作成一个对话框,询问我的程序需要的三个路径。如果您认为有必要,我也会发布该代码,但感觉就像我可以指定我的自定义操作何时运行以获得正确的值!

谢谢你的回答:)

4

1 回答 1

0

INSTALLDIR好吧,我仍然不知道如何将 mycustomAction 设置为我想要的特定运行时,但我不再需要了,因为我发现了为什么我的属性像costfinalize

我不知道它以这种方式工作的原因,但我的目录在 id 中有小写字母,然后costfinalize在安装顺序后将它们改回默认值

所以有这样的所有大写

<Directory Id="SPCSFOR" Name="Företag">
</Directory>
<Directory Id="SPCSGEM" Name="Gemensamma filer">
</Directory>
<Directory Id="VISMAADMIN" Name="SPCS Administration">
</Directory>

是使我自己的InstallDirDlg工作更像原始作品的最后一块,并且属性保持用户更改它们的方式BrowseDlg

之后我很容易设置 mycustomAction

<InstallExecuteSequence>
  <Custom Action="myActionid"
          After="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>

像那样并从那里读取属性,并且尝试正确地计时以获得我想要的值没有问题!

于 2012-12-19T14:03:36.750 回答