我得到關於威克斯問題和管理的自定義操作:我已經設法它來創建一個託管自定義操作,得到它從我的安裝程序調用(在安裝日誌文件來確認它)。我的問題是現在我沒有管理它將數據傳遞給自定義操作。 Afaik如果我選擇在這樣的後期階段運行自定義操作,我必須將操作標記爲「延遲」。有了這個限制,它只能訪問CustomActionData屬性嗎?爲什麼這在我的情況下不起作用? (至於我可以看到我從樣品正確adoptet一切?)維克斯:將數據傳遞到託管自定義操作不起作用
這裏是我已經嘗試過:
自定義操作:
public class CustomActions
{
[CustomAction]
public static ActionResult RegisterDflHelp(Session session)
{
session.Log("Begin CustomAction1");
session.Log("Before Access to customactiondata");
//string helpdir = session["HELP_DIR"];
string cad = session["CustomActionData"];
Debugger.Break();
session.Log("Help dir is: " + helpdir);
session.Log("Custom Action Data is: " + cad);
return ActionResult.Success;
}
}
合併模塊這就要求自定義動作:
<CustomAction Id='RegisterDflHelp' BinaryKey='RegisterDflHelpDll' DllEntry='RegisterDflHelp' Execute='deferred' />
<CustomAction Id="HELP_DIR.SetProperty" Return="check" Property="HELP_DIR" Value="Teeest" />
<Property Id='HELP_DIR' Secure='yes'/>
<InstallExecuteSequence>
<Custom Action='HELP_DIR.SetProperty' After='InstallFiles' />
<Custom Action='RegisterDflHelp' After='HELP_DIR.SetProperty' />
</InstallExecuteSequence>
<Directory Id="TARGETDIR" Name="SourceDir">
</Directory>
<ComponentGroupRef Id="HelpGroup"/>
產品,其中包括幫助,合併模塊:
<Product....>
<Package....>
...
<Directory>
<!--Directory which gets the help folder--!>
<Merge Id ="DflHelpInstaller" SourceFile="DflHelpInstaller.msm" Language="1033" DiskId="1" />
任何人的想法?提前致謝!!
丹尼爾
順便說一句:什麼也很想知道:在哪個階段,在installationprocess必須標明的行動推遲?如果我在本階段之前設法調用我的自定義操作。有什麼優勢?