C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: CDドライブについて


(過去ログ 69 を表示中)

[トピック内 14 記事 (1 - 14 表示)]  << 0 >>

■39946 / inTopicNo.1)  CDドライブについて
  
□投稿者/ ゆきえ (1回)-(2009/08/18(Tue) 17:09:57)

分類:[インストーラ全般] 

CD媒体のインストーラを作成しているのですが
CD媒体の中で実行するインストーラにCD媒体の中のファイルの場所を示す箇所があります。

そこではファイルのフルパスを指定しなければならなく、困っています。
CDドライブは端末によってDドライブになったりFドライブにするので。

dosコマンドでもよいのでCDドライブがどのドライブかを知る方法などありませんでしょうか。
dosコマンド以外でも構いません。

すいませんが宜しく御願いします。
引用返信 編集キー/
■39947 / inTopicNo.2)  Re[1]: CDドライブについて
□投稿者/ .SHO (1016回)-(2009/08/18(Tue) 17:15:39)
# 他に、もっといい方法がありそう…

AドライブからZドライブまで、インストーラを探してみるとか…^^;
引用返信 編集キー/
■39948 / inTopicNo.3)  Re[2]: CDドライブについて
□投稿者/ すがり (76回)-(2009/08/18(Tue) 17:23:13)
[素朴な疑問]
ドライブが2個とか3個ついてたらどうするんでしょうねぇ。
引用返信 編集キー/
■39950 / inTopicNo.4)  Re[1]: CDドライブについて
□投稿者/ 魔界の仮面弁士 (1227回)-(2009/08/18(Tue) 17:32:51)
No39946 (ゆきえ さん) に返信
> CD媒体のインストーラを作成しているのですが
> CD媒体の中で実行するインストーラにCD媒体の中のファイルの場所を示す箇所があります。

どのようなインストーラか分かりませんが、そのインストーラが CD 媒体内にあるならば、
そこからの相対パスを調べてみては如何でしょうか。

> そこではファイルのフルパスを指定しなければならなく、困っています。
> CDドライブは端末によってDドライブになったりFドライブにするので。

複数の CD ドライブを搭載している場合もありますね。
また、CD ドライブを USB 接続して利用しているような場合には、
次回利用時には、もしかしたらパス名が変化しているかもしれません。


> dosコマンドでもよいのでCDドライブがどのドライブかを知る方法などありませんでしょうか。
> dosコマンド以外でも構いません。

≪PowerShell≫
Get-WMIObject -query "SELECT * FROM Win32_LogicalDisk WHERE DriveType=5" | Format-Table "DeviceId"

≪VB2008≫
Dim q = From d In My.Computer.FileSystem.Drives Where d.DriveType = DriveType.CDRom
引用返信 編集キー/
■39951 / inTopicNo.5)  Re[1]: CDドライブについて
□投稿者/ オショウ (309回)-(2009/08/18(Tue) 17:34:48)
No39946 (ゆきえ さん) に返信
> CD媒体のインストーラを作成しているのですが
> CD媒体の中で実行するインストーラにCD媒体の中のファイルの場所を示す箇所があります。

  何を使ってインストーラを作成されているかで、方法は異なるかと・・・

> そこではファイルのフルパスを指定しなければならなく、困っています。
> CDドライブは端末によってDドライブになったりFドライブにするので。

  複数CDドライブ接続している方も若干はおられるはず・・・
  私も2台搭載していますので、Aドライブから探して初めて見つかったCD
  ドライブとしては危険かと。

> dosコマンドでもよいのでCDドライブがどのドライブかを知る方法などありませんでしょうか。
> dosコマンド以外でも構いません。

  リムーバブルメディアでCD?と判断する方法はいろいろあります。
  言語は何で製作されているのでしょうか・・・

  http://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/5adf8bfe-ffe7-410d-94ba-5f99b98d4ef0
  http://www.usefullcode.net/2007/02/if.html
  http://www.h5.dion.ne.jp/~sfsf11/spti.html

以上。参考まで・・・
引用返信 編集キー/
■39952 / inTopicNo.6)  Re[2]: CDドライブについて
□投稿者/ .SHO (1017回)-(2009/08/18(Tue) 17:45:41)
>   複数CDドライブ接続している方も若干はおられるはず・・・
>   私も2台搭載していますので、Aドライブから探して初めて見つかったCD
>   ドライブとしては危険かと。

いや、CDドライブを探すんじゃなくて、インストーラを探すんです。
もしくは、CD直下に、とーってもありえないような名前のファイルを作成しておいて
それを探すでもいい。

それでも不安なら、とーってもありえないような名前のファイルの中に
とーってもありえないようなマジックコードでも書きこんでおいて
それもチェックするとか。。。^^;

引用返信 編集キー/
■39953 / inTopicNo.7)  Re[1]: CDドライブについて
□投稿者/ みきぬ (614回)-(2009/08/18(Tue) 17:55:20)
No39946 (ゆきえ さん) に返信
> CD媒体のインストーラを作成しているのですが
> CD媒体の中で実行するインストーラにCD媒体の中のファイルの場所を示す箇所があります。
>
> そこではファイルのフルパスを指定しなければならなく、困っています。
> CDドライブは端末によってDドライブになったりFドライブにするので。
>
> dosコマンドでもよいのでCDドライブがどのドライブかを知る方法などありませんでしょうか。
> dosコマンド以外でも構いません。
>

CD (カレントディレクトリ)を実行して、結果から先頭の文字を取り出すとか…。
引用返信 編集キー/
■39954 / inTopicNo.8)  Re[1]: CDドライブについて
□投稿者/ aetos (196回)-(2009/08/18(Tue) 17:55:24)
aetos さんの Web サイト
No39946 (ゆきえ さん) に返信
> dosコマンド以外でも構いません。

小さなアプリを作って GetModuleFileName する。
引用返信 編集キー/
■39967 / inTopicNo.9)  Re[1]: CDドライブについて
□投稿者/ 渋木宏明(ひどり) (1196回)-(2009/08/18(Tue) 21:37:01)
渋木宏明(ひどり) さんの Web サイト
媒体のすべてのファイルを HDD やファイルサーバにコピーして、そこからインストール…なんてシナリオには非対応ですか?

また、ファイルの在りかを「光学ドライブ」みたいに狭めると、インストーラの動作確認なんかもやりにくくなるので、やめた方がいいと思いますよ。

「インストーラを起動した場所」程度のゆるい設定じゃ駄目なんですかね?

それでいいなら、setup.exe で

・setup.exe のフルパスを取得
・↑のパス名をプロパティ渡しして .msi を起動

て辺りがリーズナブルな解決なんじゃないかと。

# .msi 単体での解決は多分無理ぽ。

引用返信 編集キー/
■39969 / inTopicNo.10)  Re[2]: CDドライブについて
□投稿者/ Jitta on the way (392回)-(2009/08/18(Tue) 21:54:02)
No39967 (渋木宏明(ひどり) さん) に返信
> 媒体のすべてのファイルを HDD やファイルサーバにコピーして、そこからインストール…なんてシナリオには非対応ですか?


InstallShield だと、自身を %temp% にコピーして起動するので、カレント ディレクトリから相対パスが取れないことがあります。そういう対応かな?と思ったのですが、違うかな??

InstallShield Script なら、予約済みの変数 SRCDIR だったかな?
引用返信 編集キー/
■39982 / inTopicNo.11)  Re[3]: CDドライブについて
□投稿者/ とっちゃん (414回)-(2009/08/19(Wed) 11:12:41)
とっちゃん さんの Web サイト
No39969 (Jitta on the way さん) に返信
インストーラの形式がわからんので何ともいえず。。。なんですよねー。

msi でも インストール元フォルダはわかりますよ。SourceDir プロパティで取得できます。

自前でコード書いてれば、モジュールのパスなんていくらでも操作できますし。
もうちょっと具体的にどういうところから確認したいのか?があると適切な返答がもらえると思いますよ。

引用返信 編集キー/
■39988 / inTopicNo.12)  Re[2]: CDドライブについて
□投稿者/ ゆきえ (3回)-(2009/08/19(Wed) 12:01:07)
No39967 (渋木宏明(ひどり) さん) に返信
> 媒体のすべてのファイルを HDD やファイルサーバにコピーして、そこからインストール…なんてシナリオには非対応ですか?
>
> また、ファイルの在りかを「光学ドライブ」みたいに狭めると、インストーラの動作確認なんかもやりにくくなるので、やめた方がいいと思いますよ。
>
> 「インストーラを起動した場所」程度のゆるい設定じゃ駄目なんですかね?
>
> それでいいなら、setup.exe で
>
> ・setup.exe のフルパスを取得
> ・↑のパス名をプロパティ渡しして .msi を起動
>
> て辺りがリーズナブルな解決なんじゃないかと。
>
> # .msi 単体での解決は多分無理ぽ。

皆様色々の回答ありがとうございます。

結局、渋木宏明(ひどり)さんの
媒体のすべてのファイルを HDD やファイルサーバにコピーして、そこからインストール
でいくことにしました。
必要最低容量を提示しコピーしたインストーラーもインストール後削除するという
方法で。。

皆様の意見にある様々なコマンド、ツールを調査しましたがインストール環境も様々でして
このコピーが簡単かつスマートではないかと。

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



>
解決済み
引用返信 編集キー/
■39994 / inTopicNo.13)  Re[3]: CDドライブについて
□投稿者/ 渋木宏明(ひどり) (1197回)-(2009/08/19(Wed) 12:52:08)
渋木宏明(ひどり) さんの Web サイト
2009/08/19(Wed) 12:56:49 編集(投稿者)

> 結局、渋木宏明(ひどり)さんの
> 媒体のすべてのファイルを HDD やファイルサーバにコピーして、そこからインストール
> でいくことにしました。

へ? 僕は「そーしたほうがいい/そーしろ」と言ってるわけじゃなくて、「そーゆーケースには対応できなくなりますが、いいんですか?」と尋ねただけですよ?

インストールに必要なコンテンツは媒体に入ってるけど、インストーラ自体はその媒体とは全く別なところから起動することを考えてたんですか?>当初
引用返信 編集キー/
■40000 / inTopicNo.14)  Re[3]: CDドライブについて
□投稿者/ .SHO (1018回)-(2009/08/19(Wed) 13:21:33)
2009/08/19(Wed) 13:23:53 編集(投稿者)

> 結局、渋木宏明(ひどり)さんの
> 媒体のすべてのファイルを HDD やファイルサーバにコピーして、そこからインストール
> でいくことにしました。
> 必要最低容量を提示しコピーしたインストーラーもインストール後削除するという
> 方法で。。

すごいところから結論を見出したなぁ。。。orz
いいのか?それで???
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -