簡體   English   中英

執行時安裝文件后的Wix自定義操作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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM