短いバージョンでは、インストーラパッケージをビルドしていますが、特定のレジストリキーが存在するかどうかに基づいて動作を変更するようにウェルカム画面の[次へ]この動作を得るために次のボタンのアクションの条件を変更できるはずですが、これまでのところ運がないようです。私はいつも行動Aまたは行動Bを得ている、私はレジストリ値に敏感な行動を得ていない。WiXレジストリ値に基づいてUIの動作を変更する
UIを完全に削除し、コマンドラインでパッケージを実行して目的の結果を得ることができますが、適切なときにインストールパスダイアログを追加することでユーザーフレンドリーになります。もう少し詳細に
...
私は独立した、しかし関連、クラスライブラリのシリーズのためのインストーラに取り組んでいます。クリーンボックスにライブラリをインストールする場合は、インストーラがインストールパスをユーザーに求め、インストールプロセス中にこのパスをレジストリに書き留めておきます。しかし、すでに他のライブラリの1つを持っているボックスにライブラリをインストールする場合は、インストーラがレジストリを読み込んで以前のインストールと同じパスを使用するようにします。
標準のWixUI_InstallDirインターフェイスを変更してレジストリ検索結果を確認し、InstallDirDlgが設定されている場合はスキップします。しかし、これは動作しているようには見えません。私の公開条件は、私はその後、私が取得することはありませんFOOPATHプロパティを使用するためにそれらを切り替えると、私はいつも、インストールディレクトリ]ダイアログボックスを取得する(示すように)PATHSETプロパティを使用している場合
<Property Id="FOOPATH">
<RegistrySearch Id="PathSet" Type="directory" Root="HKLM" Key="Software\Foo" Name="InstallPath"></RegistrySearch>
</Property>
<Property Id="PATHSET">
<RegistrySearch Id="PathSet" Type="directory" Root="HKLM" Key="Software\Foo" Name="InstallPath"></RegistrySearch>
</Property>
<Directory Id="FOOPATH" Name="Foo">
<Component Id="FooPathReg" Guid="Some Guid">
<RegistryKey Root="HKLM" Key="Software\Foo" Action="createAndRemoveOnUninstall">
<RegistryValue Name="InstallPath" Type="string" Value="[FOOPATH]" KeyPath="yes"></RegistryValue>
</RegistryKey>
</Component>
</Directory>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">NOT Installed AND NOT PATHSET</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">NOT Installed AND PATHSET</Publish>
:ここではXMLからいくつかの切れ端がありますダイアログ。私もInstallUISequenceで試してみましたが、AppSearchアクションをどのくらい早くスケジュールするかは問題ではないようですが、私はまだ同じ結果を得ています。
シンプルなものがありますか?それとも別のアプローチをとる必要がありますか?
UIをカスタマイズしようとしたときに、あなたのリンクに概説されている一般的なプロセスに従いました。私はOrcaですべてが正しいと感じることができます。しかし、ログファイルを調べると、私のレジストリ検索は決して起こっていないようです。 – Rozwel
Orcaを使用して、検索がAppSearchテーブルに存在することを確認します。 –
彼らはテーブルにいました。私は実際の問題を追跡しました。助けてくれてありがとう。 – Rozwel