none
インストーラーで%TEMP%を指定するには? RRS feed

回答

  • TempFolder というフォルダプロパティ([ProgramFilesFolder]と同じように使う)で、インストール先をテンポラリフォルダにできます。

    ただし、テンポラリフォルダはいつユーザーがバサッと消しちゃっても困らないようにしておくべきです。ですが、インストーラはなくなっていることを検出したら自動修復してしまうので、かなり困ったチャンな動作をすることになると思います。

    あと、%TEMP%はユーザーごとの設定なので、インストールアカウントの%TEMP%と、実行アカウントのそれとは別という可能性はかなり高いという点も認識しておく必要があります。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    2012年5月23日 7:50

すべての返信

  • TempFolder というフォルダプロパティ([ProgramFilesFolder]と同じように使う)で、インストール先をテンポラリフォルダにできます。

    ただし、テンポラリフォルダはいつユーザーがバサッと消しちゃっても困らないようにしておくべきです。ですが、インストーラはなくなっていることを検出したら自動修復してしまうので、かなり困ったチャンな動作をすることになると思います。

    あと、%TEMP%はユーザーごとの設定なので、インストールアカウントの%TEMP%と、実行アカウントのそれとは別という可能性はかなり高いという点も認識しておく必要があります。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    2012年5月23日 7:50
  • お陰様で解決しました。

    コピーしたいファイルはインストーラーのbannerに使う画像ファイルなので問題無いと思います。

    有り難うございました。

    2012年5月23日 9:18
  • bannerって。。。作ってるインストーラってセットアッププロジェクトですよね?バナーの画像?カスタム動作で使うのでしょうか?それなら、カスタム動作のモジュールにリソースとして埋め込むほうがいいと思いますが?


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    2012年5月23日 9:34
  • カスタム動作のモジュールにリソースとして埋め込むほうがいいと思いますが?

    これがわからなくて・・・
    2012年5月23日 10:32
  • "画像 埋め込み" などで、検索してみては?

    それはともかくとして、カスタム動作で使うのなら、そのカスタム動作を入れているモジュールと同じフォルダにインストールすればいいのでは?テンポラリに展開といっても一時的に行えるわけではなく、そのフォルダにインストールしようとします。

    あと、テンポラリフォルダはユーザーごとに別々なのでOSやインストールアカウントによってはアクセスできません。カスタム動作の動くアカウントとインストールされるアカウントは同じとは限りません。

    あと、カスタム動作でUIを出すのは原則NGです。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    2012年5月23日 10:50
  • >テンポラリに展開といっても一時的に行えるわけではなく、そのフォルダにインストールしようとします。

    なので、仮にエンドユーザがそのファイルを削除した場合、Windows インストーラによる修復対象になってしまいますね。

    2012年5月24日 1:52
  • なので、仮にエンドユーザがそのファイルを削除した場合、Windows インストーラによる修復対象になってしまいますね。

    私はRamDiskを%TEMP%にしているので、今朝PCを起動したらそうなりました。

    取り敢えずbanner.jpgをアプリケーション フォルダに戻しました。


    2012年5月24日 2:20
  • >"画像 埋め込み" などで、検索してみては?

    画像を埋め込んだhoge.dll(exe)はどこに配置すれば良いのでしょうか?

    2012年5月24日 2:29
  • 通常は、インストーラでしか利用しないモジュールでもアプリケーションフォルダかそのサブフォルダにインストールです。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    2012年5月24日 2:39
  • 通常は、インストーラでしか利用しないモジュールでもアプリケーションフォルダかそのサブフォルダにインストールです。

    それなら画像ファイルを置くだけにします。
    2012年5月24日 3:31