7

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

  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);
    }
    

但是,我未能更新进度文本并移动进度条。

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

我知道我可以使用

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

设置进度文本以说明此自定义操作正在做什么。但是如何在执行此自定义操作时更新状态?

4

1 回答 1

1

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

<UI>
   <ProgressText Action="UnzipDataBase">Now installing database files, this may take a few minutes!</ProgressText>
</UI>
于 2013-10-19T00:13:21.313 回答