2

カスタマーリリースアプリケーションの言語パッケージを作成する必要があります。これは、言語パッケージセットアップを作成するための最良のアプローチであり、トップカスタマーリリースアプリケーションにインストールされます。

言語パッケージをインストールおよびアンインストールするオプションもユーザーに提供することになっています。installshield2011を使用してこれを行うための最良の方法を提案してください。

4

1 に答える 1

0

私はこのようにします。

確かに、アプリケーションはインストール時にインストールフォルダをレジストリに保存します。次に、言語パックはこのレジストリエントリを検索します。

  • インストール場所がレジストリに保存されていない場合、アプリケーションはインストールされていません。エラーを報告して終了します。
  • それ以外の場合は、言語ファイルをコピーする場所がわかっているので、言語パックのインストールに進みます。

言語パックには、[プログラムの追加と削除]に独自のエントリがあります。
必要ない場合は、他に2つのオプションがあります。

  1. アプリケーションの更新として言語パックを登録します。その後、ユーザーがインストールされた更新を表示することを選択した場合にのみ表示されます。その方法は、[プログラムの追加と削除]リストのフィルタリング
    で説明されています。
  2. プログラムの追加と削除からパッケージを非表示にします。この場合、パッケージをアンインストールする別の方法を提供する必要があります。

もう1つあります。メインアプリケーションのアンインストーラーは、インストールされているすべての言語パックをアンインストールするためのオプションを提供する必要があります(できます)。ユーザーに手動でアンインストールさせたくないですよね?

トリッキーです。私の頭に浮かぶ最も簡単なアプローチは、メインのアンインストーラーがインストールされている言語パックを列挙し、その削除をスケジュールすることです。しかし、これはUACに対応していない可能性があります。

言語パックの削除を実装するためのアプローチは、これらのパッケージがどのように作成されるかによって異なります。アンインストーラーにブートストラッパー(裸の.msiではなく.exe)がある場合、それは非常に簡単です。ブートストラッパーは、メインアプリケーションのアンインストールプロセスを開始します。成功すると、言語パックの削除に進みます。また、UACに適しています。ブートストラッパーは、開始時に昇格を要求するため、起動するすべてのプロセスも昇格されます。

于 2012-03-14T07:38:49.720 に答える