5

Visual Studio 2012 で Install Shield プロジェクトを使用してアプリケーションを更新しようとしています。

私はそれについてたくさんの記事/stackoverflowの質問を読みましたが、すべてが既存のアプリケーションを更新するための同じ手順を示しています:

  • 製品バージョンアップ
  • 商品コードの変更
  • ビルドのセットアップ

だから私はまさにそれをします。最初にアプリケーションを構築し、次にセットアップを構築します。セットアップを見つけて実行します。期待どおりにアプリケーションをインストールします。

次に、アプリケーションにマイナーな変更を加え (背景色を変更するなど)、次のようにします。

  • 私はアプリケーションを構築します
  • 製品バージョンを 1.00.0000 から 1.00.0001 にインクリメントします。
  • 製品コードの変更 - {...} をクリックして、新しいコードを自動的に生成します
  • 更新コードが同じであることを確認してください
  • セットアップを構築する

前にセットアップを見つけたのと同じディレクトリに移動し、セットアップを実行します。インストールされていることを示していますが、プログラムを実行すると、元のプログラムであり、[コントロール パネル] > [プログラム] に、アプリケーションのインスタンスが 2 つ表示されます。また、アプリケーションのインストール ディレクトリでは、元のファイルのままです。

私は resequence RemoveExistingProducts をクリックしましたが、それでも同じです。

編集:VS2012に付属のInstallShieldの基本バージョンを使用しています

誰が私が間違っているのか考えていますか? 私は自分が何を間違っているのか全くわかりません...

4

1 に答える 1

5

VS2012 内の InstallShield のアップグレード パス セクションに記載されているとおり:

製品の以前のバージョンをリリースしており、エンド ユーザーが以前のバージョンを手動でインストールしてから現在のバージョンもインストールすることなく、現在のバージョンにアップグレードできるようにしたい場合は、[アップグレード パス] ビューを使用してアップグレード情報を示します。

そのため、以前のインストールをアップグレードするには、アプリケーションのアップグレード コードを「アップグレード パス」に追加する必要があります。これは、ソリューション エクスプローラーから実行できます。

[InstallShield セットアップ プロジェクト] -> セットアップの整理 -> アップグレード パス

そのタブから、中央ペインの左側にある [アップグレード パス] オプションを右クリックし、[新しいアップグレード パス...] を選択します。次に、プロジェクトのインストーラー (.exe または .msi) を選択するオプションが表示され、[アップグレード コード] フィールドに入力されます。Min および Max Version フィールドを設定して、新しいインストーラーでアップグレードするアプリケーションのバージョンを指定してください。新しいインストーラーでアプリケーションのインストール済みバージョンをアップグレードする場合は、[最大バージョンを含める] フィールドと [最小バージョンを含める] フィールドを no に設定します。

これで、ソリューションをビルドする準備が整いました。新しいインストーラーを実行すると、指定した問題が発生しなくなります。

于 2012-11-17T05:22:25.700 に答える