.net - 创建一个自定义操作,msiexec 将忽略其错误代码

标签 .net visual-studio deployment windows-installer installation

我使用 Visual Studio 2010 为我的项目创建了一个带有 .NET Framework 4.0 的安装包。我使用 Installer 类和使用 .NET Framework 4.0 构建的 DLL 创建自定义操作。我的安装包安装成功。

如果我删除我的包,然后删除 .NET Framework 4,则一切正常。

但是,如果我删除 .NET Framework,然后删除我的安装包,我会收到一个错误: "1001 InstallUtilLib.dll unknown erro"。我认为我无法删除安装包的原因是 msiexec 将调用我的自定义操作,即使用 .NET Framework 4.0 的安装程序类,而 .NET Framework 4.0 在删除之前 -> 无法调用安装程序 DLL 并返回错误 -> 消除 MSI 故障。

请帮助我如何避免此错误或如何忽略此自定义操作的错误代码。谢谢。

最佳答案

你可以试试这个:

  • 使用 Orca 打开 MSI
  • 转至 CustomAction table并找到您的自定义操作
  • 添加 msidbCustomActionTypeContinue标记到类型列中的现有值
  • 保存更改

  • Visual Studio 不直接支持这一点。

    关于.net - 创建一个自定义操作,msiexec 将忽略其错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5958871/

    相关文章:

    .NET 控制台应用程序选项卡完成

    .net - LINQ中的动态where子句-在运行时具有列名

    c# - c#中到docker容器的连接字符串

    c# - 在 C# 中对撇号字符串执行 Newtonsoft JSON 反序列化时出错

    visual-studio - Visual Studio 2015 中缺少配置属性

    c# - 如何创建使用 GenericUriParserOptions.DontCompressPath 解析的 Uri 实例

    visual-studio - Windows CRT 和断言报告(中止、重试、忽略)

    perl - 有没有像用于 Perl 的 Fabric 之类的东西?

    ruby-on-rails - git clone 通过 ssh 返回 Permission denied (publickey,password)

    c# - 如何找到在我的 Azure 环境中运行的所有部署?