执行一个自定义操作时更新进度文本?

时间:2013-05-17 07:10:23

标签: c# wix

我想在执行一个自定义操作时更新进度文本。我做了以下事情:

  1. 声明我的自定义操作要延期
  2. 使用以下代码重置进度条

    private static void ResetProgress(Session session)
    {
        Record record = new Record(4);
        record[1] = "0";
        record[2] = "1000";
        record[3] = "0";
        record[4] = "0";
        session.Message(InstallMessage.Progress, record);
    }
    
  3. 使用下面的代码移动进度条:

    private static void NumberOfTicksPerActionData(Session session, int ticks)
    {
        Record record = new Record(3);
        record[1] = "1";
        record[2] = ticks.ToString();
        record[3] = "1";
        session.Message(InstallMessage.Progress, record);
    }
    
  4. 使用以下代码更新进度文本:

    private static void DisplayActionData(Session session, string message)
    {
        Record record = new Record(1);
        record[1] = message;
        session.Message(InstallMessage.ActionData, record);
    }
    
  5. 但是,我无法更新进度文本并移动进度条。

    任何人都可以帮助我吗? 如果此自定义操作需要处理顺序操作,我应该如何更新状态 在执行此自定义操作时在进度条上。

    我知道我可以使用

    <ProgressText Action="UnzipDataBase">Now installing database files, this may take a few minutes!</ProgressText>
    

    设置进度文本以告知此自定义操作正在执行的操作。但是如何在执行此自定义操作时更新状态?

1 个答案:

答案 0 :(得分:1)

您是否将ProgressText放在UI元素中?例如

<UI>
   <ProgressText Action="UnzipDataBase">Now installing database files, this may take a few minutes!</ProgressText>
</UI>