2016-05-18 43 views
0

私たちはインストーラを作成するためにInstallShield InstallScriptプロジェクトを使用し、WiX Toolsetに移行する良い方法を探しています。私が知る限り、InstallShield InstallScriptプロジェクトからWiXプロジェクトにアップデートするUpgradeCode(MSIの場合)はありません。InstallScriptからWiX Toolsetに移行する最善の方法は何ですか?

私がこれまでに見つかった唯一の解決策は次のとおりです。

  1. を手動で完全に
  2. がインストールのInstallScriptインストールをアンインストール構成にWiXのインストール
  3. 保存した設定を適用し
  4. を保存

良い方法がありますか?

+0

InstallShieldプロジェクトを削除します。もう一度それを話すことはないと誓っています。あなたはUpgradeCodeがないと確信していますか? Orcaでインストールしたmsiを開いてPropertyテーブルを見て、UpgradeCodeがリストされているかどうか確認できますか?あなたはまた、あなたのwixのインストールでカスタムアクションとして "設定を保存して復元する"ことができるはずです。 –

+0

私は好きですが、残念ながらこれはオプションではありません。私はこの[リンク](https://community.flexerasoftware.com/showthread.php?186641-How-to-get-ProductVersion-UpgradeCode-in-an-Installscript-Project)には、UpgradeCodeがないことが記載されています。 Orcaと互換性のないEXEファイルしか生成されないため、できません – Letho

+0

installer.exe/b "C:\ Path \ to \ extract"を使用し、msiのdirを確認する必要があります。また、/ extract_all: "C:\ Path \ To \ extract" –

答えて

0

[OK]これらのコメントの後、私はこれがなぜこのような問題であると思いますか。残念ながら、私はあなたがやりたいことをするための非常に簡単な方法はないと思います。

私はこのisntallscriptセットアップベースのインストールから移行する唯一の方法があなたの方法だと思います。 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstallには、ご使用の製品に関連するレジストリエントリがいくつかあります。ここでは、あなたの書き込みパッケージから変数に読み込み、その値をプロパティとしてmsiに渡すことができるアンインストールコマンドがあります。

MSIには、特にinstallshield製品のインストールからのアップグレードに関連する3つのカスタムアクションがあります。これらのタスクはすべて、管理者の昇格で実行できるように遅延カスタムアクションである必要があります。最初のタスクでは、すべての構成設定を安全な場所にコピーする必要があります(通常、%temp%\ ProductConfig \は問題ありません)。構成を保存した後の2番目の部分では、アンインストールコマンドを実行して製品を削除します。/ qなどを追加して、パッシブに/静かに実行する必要があります。その後、インストールの最後に、tempから構成ファイルをコピーバックすることができます。

各カスタムアクションは、渡されたプロパティが何かに設定されているかどうかにかかわらず、条件付きで実行する必要があります。 InstallFinalizeの前にコピーをアンインストールしてから、コピーをアンインストールしたあとににコピーしてください。の後、インストーラはすべてのファイルをシステムに保存します。

理想的には、最小限の方法以外でユーザーがやりとりすることなく、次へとインストールをクリックしてアップグレードすることをお勧めします。

私は他の誰かがより多くを知っているし、彼らはうまくいけばチャイムよ、それを行うには良い方法を知っているので、もし私が本当にそれを好きではない知っているのに十分なのInstallShieldを扱ってきました。

+0

詳細な説明をいただきありがとうございます。試してみます。 – Letho

+0

同じ問題を抱えている人には、_C:\ Program Files \ InstallShieldインストール情報\ {** ProductCodeFromIsmProject **} _にある_setup.exe_を使用して製品をアンインストールすることもできます。 'setup.exe/removeonly/hide_splash/hide_usd/hide_progress' このポップアップは、' setup.exe/removeonly/hide_splash/hide_usd/hide_progressのようなサイレントモードを使って無効にすることができます。/s/f1 "SilentUninstall.iss" 'もっと良い方法があると思いますが、まだ見つかりませんでした。 – Letho

関連する問題