【问题标题】:WiX 3 Custom Action - Function returns without ExceptionWiX 3 自定义操作 - 函数返回无异常
【发布时间】:2013-03-04 12:08:23
【问题描述】:

我在 WiX 3.7 中编写了一个自定义操作,现在当我想连接到某个地方的数据库(Firebird)时,它只是从函数中返回,我现在已经调试了一个多小时,但无法确定找出问题所在

Database db;
        try
        {
            db = new Database(@"C:\Cedex2\DB\CEDEX.FDB", DatabaseOpenMode.Transact);
            Debuging.Log("step0");
        }
        catch (Exception ex)
        {
            Debuging.Log(ex.Message);
        }
        try
        {
            string sqlScript = "";
            Debuging.Log("step1");
            using (StreamReader reader = new StreamReader(@"C:\Cedex2\DB\script1.sql"))
            {
                try
                {
                    sqlScript = reader.ReadToEnd();
                }
                catch (Exception ex)
                {
                    Debuging.Log(ex.Message);
                }
            }
            Debuging.Log(sqlScript);
            db.Execute(sqlScript);
            Debuging.Log("step2");
            db.Close();
            Debuging.Log("closed");
        }
        catch (Exception ex)
        {
            Debuging.Log(ex.Message);
        }

脚本存在,数据库文件也存在。在记录(“step0”)之前必须发生一些事情,因为这不会出现在我的记录文件中。如果我在 new Database() 之前手动抛出异常,它将进入捕获并记录。有什么问题?如果是编译器错误,为什么它没有出现在我的捕获中?

在运行自定义操作后,数据库文件也没有新的 Windows-Lastmodified 日期

【问题讨论】:

    标签: exception wix wix3.5 wix3 wix3.6


    【解决方案1】:

    您的“数据库”类的完全限定名称空间是什么?您是否尝试使用 Microsoft.Deployment.WindowsInstaller.Database 打开 Firebird 数据库?如果是这样,该类仅打开 Windows Installer 数据库。 (我怀疑你是。)

    看看:

    Firebird: .NET — Examples of use

    【讨论】:

    • 是的,我愿意。嗯,没有想过这个。这就是为什么我的 xml-Database 规范也不起作用的原因。但是我怎样才能在 firebird 数据库上执行 SQL 脚本呢?我的意思是我认为必须有一种方法来实现这一点,否则我会有一个大问题......
    • DTF 只是作为在 Windows Installer 上下文中运行托管自定义操作的模型。如何连接到 Firebird 数据库将是一个与 WiX 和 DTF 无关的不同问题。我已经发布了一个链接让你开始。 PS-请记得点赞并接受这个答案。
    • 看起来这正是我需要的东西。谢谢!
    猜你喜欢
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多