ダイアログのWixアップデートテキストでカスタムアクションを実行することはできますか?私はこれを行う様々な方法を探してきましたが、まだ私のために働いたことはありません。DoActionでテキストを更新する
私は
<Control Id="RunButton" Type="PushButton" X="0" Y="0" Height="18" Width="56" Text="Run">
<Publish Event="DoAction" Value="CustomAction">1</Publish>
</Control>
と私のカスタムアクションで
<Control Id="MessageText" X="0" Y="20" Width="100" Height="18">
<Subscribe Event="ActionData" Attribute="Text" />
</Control>
を持っているテキストコントロールで定義されたプッシュボタンコントロールを持って、私は
using(var rec = new Record(0)){
rec.SetString(0, "Starting...");
session.Message(InstallMessage.ActionData, rec);
}
を持っているこれは、基本的なプロセスであり、私は多数のフォーラムで見つけましたが、それは私のために働いていません。
アクションは、Execute = "immediate"とReturn = "Check"と定義されています。
「レコード」オブジェクトを3つのフィールドに変更し、フィールド1,2,3に同じプロパティを設定してみました。これも機能しませんでした。
私が間違っていることを誰でも説明できますか?これはちょうどウィックスで実行できないのですか?基本的に私は、カスタムアクションで長期実行プロセスを設定しようとしており、アクションの進行状況をユーザーに報告できるようにしたいと考えています。
私はデータベースアップグレードページ(私はこのアプリケーションのデータソースとしてSQLiteを使用しています)を持っていて、ユーザーがカスタムアクションを呼び出すアップグレードボタンをクリックするようにしました。私の希望は、CAを使用してデータベースのアップグレードプロセスをロードし、進行状況が変更されたときにActionDataメッセージをインストーラに返すイベントリスナーを添付することでした。 VS2008の古いWindowsインストーラを使用して、カスタムダイアログページを生成して正確にそのページを作成することができました。私はWPFを使って同様のことをすることができますか?進行状況を処理するために、CAがWPFウィンドウをモーダルにスポーンするようにしますか? – CodeMonkey