【问题标题】:WIX- referring to the installation path from a custom actionWIX - 指来自自定义操作的安装路径
【发布时间】:2014-09-19 03:50:48
【问题描述】:

我正在编写一个在卸载时运行的自定义操作(在 c# 中)。

<Custom Action='My_CA' After='InstallInitialize'>Installed AND NOT UPGRADINGPRODUCTCODE</Custom>

在我的自定义操作中,我需要使用在安装文件夹中的 .dll 中定义的 API,所以我写了这一行:

[DllImport("myAPI.dll", CallingConvention = CallingConvention.Cdecl)]

如您所见,我尝试仅使用 dll 名称,但卸载日志显示“无法加载 DLL 'myAPI.dll':找不到指定的模块”。我想我需要使用相对于安装文件夹的路径,而不仅仅是 dll 名称,但我找不到如何编写它的语法。 谁能告诉我如何从 c# 自定义操作引用到安装文件夹?

【问题讨论】:

    标签: c# wix windows-installer custom-action


    【解决方案1】:

    你没有在你的 CA 中定义“执行”,默认是立即的,意思是它在安装任何文件之前运行。您需要“延迟”的执行值。

    您还需要在 InstallFiles 操作之后使用它,以便文件存在。

    【讨论】:

    • 我在自定义操作中定义了执行,但我没有编写此代码部分。无论如何,我的“执行”是立即的,因为正如我所写的那样,CA 应该在卸载时运行。卸载前所有文件都在安装文件夹中(卸载时所有文件都在安装文件夹中)。
    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多