none
InstallShieldで作成したsetup.exeにて、Tempフォルダにsetup.msi以外のファイルを展開する方法について RRS feed

  • 質問

  • お世話になります。

    現在、VS2012のInstallShieldにて32bit/64bit対応のインストーラを作成しております。

    Custom Actionsを使用して、下記の流れでインストールするインストーラを作成したいと考えています。

    1. インストーラ起動
    2. VC2012のランタイムがインストール済みか判定し、未インストールであればインストール。インストール済ならスキップ
    3. インストール対象をインストール
    4. ショートカット等登録
    5. インストール終了

    上記でインストールするVS2012のランタイムについて、

    インストーラ起動後にUsr下のTempフォルダに展開し

    OSのビット数に合わせてインストールするランタイムを選択して起動という処理にしたいのですが、

    InstallShieldのFilesで[TempFolder]内にランタイムを配置しても、

    インストーラ起動後に展開されたのはsetup.msiとsetup.iniのみで

    指定したランタイムは展開されずインストールに失敗しておりました。

    インストーラ起動後、setup.msiの展開タイミングに合わせて

    任意のexeも展開する方法はありませんでしょうか?

    2018年9月4日 1:01

回答

すべての返信

  • 追記です。

    開発環境は下記となります。

    Visual Studio Professional 2012 + InstallShield 2015 Limited Edition for Visual Studio 2012

    2018年9月4日 1:05
  • VS2012のVC++ランタイムのインストールであれば、マージモジュールを使って本体に埋め込んでしまってはいかがでしょう?

    それなら、判定処理も必要ありませんし、何かをキックする必要もありません。

    検索したところ過去のやり取りにも同じようなものがありました。

    https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/80f48e1b-3446-481c-aef0-9295adcbd2d8/vs2012installshield-limited-

    これによるとできないっぽいですが、手持ちがないので正直よくわかりません。


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    • 回答としてマーク Setsuka 2018年9月11日 8:02
    2018年9月5日 8:16
  • とっちゃん様

    ご回答ありがとうございました。

    ご紹介いただいたページ同様にうまくいかなかったため、カスタムアクションにて別途ランタイムを展開し、インストール実行という流れに変更いたしました。

    2018年9月11日 8:06