[英]InstallShield - Accessing CustomActionData in C# WIX DTF custom action dll
[英]Wix custom-action dll after files installed at execution
我正在使用dll安裝在msi中打包的驅動程序。 以下是代碼段:
<Binary Id="CustomAction2.CA.dll"
src="../artifacts/CustomAction2.CA.dll" />
<CustomAction Id="Install"
Execute="deferred"
BinaryKey="CustomAction2.CA.dll"
DllEntry="CustomAction1" />
<CustomAction Id="InstallWithProperty"
Property="Install"
Value="location=[DEFAULT_INSTALLDIR]$FULL_NAME;name=myDll.dll" Execute="immediate"/>
<InstallExecuteSequence>
<Custom Action="InstallWithProperty" After="InstallInitialize"/>
<Custom Action="Install" After="InstallFiles" />
</InstallExecuteSequence>
我面臨着同樣的問題。 當調用自定義操作時,它會說。
定制操作引發的異常:System.Reflection.TargetInvocationException:調用的目標已引發異常。 ---> System.DllNotFoundException:無法加載DLL“ myDll.dll”:找不到指定的模塊。 (在CustomAction2。內部異常堆棧跟蹤---在System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo方法,對象目標,對象自變量,簽名sig)處位於System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo方法,對象目標,對象參數,SignatureStruct&sig,MethodAttributes方法屬性,RuntimeType類型所有者) ,System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder活頁夾,對象參數,CultureInfo文化,布爾skipVisibilityChecks)處的MethodAttributes methodAttributes,RuntimeType typeOwner) Microsoft.Depl中的活頁夾,對象參數,CultureInfo文化) oyment.WindowsInstaller.CustomActionProxy.InvokeCustomAction(Int32 sessionHandle,字符串entryPoint,IntPtr remotingDelegatePtr)CustomAction安裝返回的實際錯誤代碼1603(請注意,如果在沙箱中發生翻譯,此錯誤可能不是100%准確)
有人可以幫忙嗎? 我想使用myDll.dll進行進一步安裝,這是.msi文件的一部分。
您正在傳遞mydll.dll,這意味着它將嘗試在運行DTF CA的當前目錄/ temp目錄中找到它。而是將文件的文件密鑰傳遞給它。 (File @ Id屬性)。
name = [#myDLL.dll]這將被格式化為C:\\ Program Files \\ My Company \\ My Product \\ myDLL.dll
一種替代方法是將DLL添加到您的CA項目中,以便將其打包在CA中,並在安裝時將其提取到CA當前目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.