2017-02-21 14 views
2

私は自分のwixプロジェクトでListBoxを作成しましたが、そのListBoxにカスタムアクションから来た値を設定したいと思います。私が望むのは、ボタンをクリックすると、私のカスタムアクションが呼び出され、さらにリストボックスにデータが取り込まれるということです。私は何がうまくいかないのか分からない。だから、誰かがそれをやる方法を知っているなら、助けてください。あらかじめThanx。私のカスタムアクションでwixインストーラでListBoxを設定する

コード: -

Database db = session.Database; 
string var = db.Tables["ListBox"].SqlInsertString + "TEMPORARY"; 
Microsoft.Deployment.WindowsInstaller.View var2 = db.OpenView(var); 
var2.Execute(new Record(new object[] {"PROPERTY NAME", 5, "5", "value"})); 
var2.Close(); 

コードウィックスでのプロジェクト: - カスタムアクションとListBoxコントロールに設定されているプロパティのさわやかな値を呼び出すためのボタンで

<Control Id="ANY ID" Property="PROPERTY NAME" Type="ListBox" X="20" Y="20" Width="300" Height="300" Sorted="yes"> 
<ListBox Property="PROPERTY NAME"> 
    <ListItem Text="[PROPERTY NAME]" Value="[PROPERTY NAME]"/> 
</ListBox> 
</Control> 

コード: -

<Control Id="ANY ID" Type="PushButton" Text="[Next]" Height="200" Width="200" X="160" Y="160" Bitmap="yes" FixedSize="yes" Default="yes"> 
<Publish Event="DoAction" Value="CustomAction">1</Publish> 
<Publish Property="PROPERTY NAME" Value="[PROPERTY NAME]" Order="2">2</Publish> 
</Control> 

これ以降、カスタムでテーブルに挿入されている値は表示されませんアクション、つまり、ListBoxは、このすべてを実行した後に読み込まれません。

答えて

2

このようには動作しません。 次のダイアログのロード時にカスタムアクションを呼び出す必要があります。 これは私のために働く: -

<InstallUISequence> 
<Custom Action="NAME_OF_CUSTOM_ACTION" Before="DIALOG_NAME_ON_WHICH_YOU_WANT_TO POPULATE_THE_LISTBOX"/> 
<Show Dialog="DIALOG_NAME_ON_WHICH_YOU_WANT_TO POPULATE_THE_LISTBOX" 
After="PREVIOUS_DIALOG_NAME"/> 
</InstallUISequence> 
関連する問題