インストーラ作成時にフォルダをつくるには?

解決


kanegon  2004-03-08 18:10:52  No: 112250

いつもおせわになります。
インストーラ作成時にフォルダも自動配置することなんて可能なので
しょうか?
たとえば、インストーラを作成するものにはC:\Aというところに
さくせいされて、それと一緒にC:\Bとかc:\Bの中にCフォルダを
予め作成しておいてそれをインストール時に自動的に配置する
なんてことも可能なのでしょうか?

よろしくお願いいたします。


特攻隊長まるるう  2004-03-08 18:57:33  No: 112251

.NET と判断しますが…、デプロイメント プロジェクトの[ファイル システム]に
追加することで可能です。ただ、以前に VB6 で相対パスを使って、インストール先の
ドライブ直下に任意のフォルダを作るという質問がありました。そもそも『このような
パスは、エンド ユーザーのコンピュータに対応しないことがあるためお勧めしません』
とMSDNライブラリに書かれている事を前提に、よくお考えの上ご使用ください。


kanegon  2004-03-09 01:44:09  No: 112252

お返事ありがとうございます。
まだ.NETではなくてVB6.0なのですが。それでも作成はできるので
しょうか?
あと、フォルダ作成場所はCドライブの配下に作成しますので、
エラーは起きないと考えています。
(私はあまりお勧めしないと思うのですが、こればかりは設計元が
そうおっしゃっているのでどうしようもないかと)
よろしくお願いいたします。


特攻隊長まるるう  2004-03-09 02:48:28  No: 112253

とりあえず読んでください。VB6 のセットアップに関して
過去ログ検索したい場合は『ディストリ』くらいで引っかかります。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200312/03120024.txt
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200401/04010009.txt

>あと、フォルダ作成場所はCドライブの配下に作成しますので、
>エラーは起きないと考えています。
エラーだけでなく、ファイル管理の問題もあります。
通常、アプリケーションに必要なファイルは[Program Files]
の下にアプリケーション名のフォルダを作り配置します。
エクスプローラで[Program Files]フォルダを見た時、『システムを
正常に保つ…』という警告が出ると思います。これを見た上で
アプリケーション名の付いているフォルダの中身を変更するという事は
アプリケーションが動かなくなることも覚悟の上…と判断できます。
ところが『Cドライブの配下』という、ユーザが通常使用している
ファイルと見分けがつかないような配置は、1年後…5年後…
ユーザがふとした切っ掛けでファイルの整理をし、削除される
危険性が高いのです。


kanekotm  2004-03-09 02:57:56  No: 112254

説明の仕方が悪かったみたいで申し訳ございません。

今回やりたいのは、セットアップするプログラムを格納するフォルダについては
Program Filesのフォルダができて、そこに格納できればいいのですが、
それ以外に出力EXCEL等を格納するために新規にフォルダをCドライブの下に
作る必要があり、それをインストーラでできるようにしろといわれたので
質問しました。
インストールするためのフォルダを変えることは見たのですが、別に新規に
フォルダを作成しなければならず、現状ディストリビューションの追加では
ファイルしか追加できなかったので投稿しました。
よろしくお願いいたします。


特攻隊長まるるう  2004-03-09 03:12:13  No: 112255

VB6 のディストリビューションウィザードで作成される SETUP.LST
はファイルを特定の文字列で置き換えてセットアップしてるみたいなので
フォルダのみというのはできないと思います。ダミーとして出力EXCEL
ファイルの雛型のようなものでも追加されたらどうでしょうか?。
[含まれるファイル]に出力EXCELファイルを追加し、[セットアップ先]を
変更して下さい。


SAS  2004-03-09 22:03:29  No: 112256

私もVisual Studio Installerを使用しセットアッププログラムを
作成しているのですが、同様のことで悩んでいます。

ディストリビューションウィザードで出来るかどうか分かりませんが
Visual Studio Installerでは以下の方法を取りました。

①その追加したいフォルダにダミーファイルをインストールする
  (追加したいフォルダ配下にインストールするファイルが無いとそのフォルダが作成されないため)

②作成したいフォルダが複数ある場合、①には、ダミーファイルではなく
  下記のようなBATファイルをインストールし、インストール後
  そのBATファイルを実行してもらう。

SET  MAKE_DIR=D:\TEST

:MAKE_TMP
rem *****  TMPフォルダ  *****
IF EXIST %MAKE_DIR%\TMP\NUL GOTO MAKE_TMP2
GOTO MAKE_TMP_PATH

:MAKE_TMP_PATH
ECHO ①%MAKE_DIR%\TMPディレクトリ作成
MKDIR %MAKE_DIR%\TMP

:MAKE_TMP2
rem *****  TMP2フォルダ  *****
IF EXIST %MAKE_DIR%\TMP2\NUL GOTO MAKE_TMP3
GOTO MAKE_TMP2_PATH

:MAKE_TMP2_PATH
ECHO ②%MAKE_DIR%\TMP2ディレクトリ作成
MKDIR %MAKE_DIR%\TMP2

:MAKE_TMP3
rem *****  TMP3フォルダ  *****
IF EXIST %MAKE_DIR%\TMP3\NUL GOTO MAKE_MD_EXIT
GOTO MAKE_TMP3_PATH

:MAKE_TMP3_PATH
ECHO ③%MAKE_DIR%\TMP3ディレクトリ作成
MKDIR %MAKE_DIR%\TMP3

:MAKE_MD_EXIT


kanegon  2004-03-10 03:42:21  No: 112257

ご返事ありがとうございます。
やはりフォルダだけを作成することはできないのですね。

現在考えているのは、VBで多段階の階層を作るEXEを作成して
そのEXEをインストーラの終了後にバッチファイルかなんかで
自動的に動かしてインストールできるようにならないかなとは
思っているのですが、そんなことは可能なのでしょうか?
(EXEをクリックすることでフォルダを一度に作成することは
できたのですが・・・)

よろしくお願いいたします


kanegon  2004-03-10 18:33:38  No: 112258

とりあえず、バッチファイルを作成して、まずインストーラを動かして
そのあとフォルダを作成するEXEを動かすようにしました。
いろいろと勉強になりました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加