• 締切済み

バッチファイル アプリケーション 自動 インストール

アプリケーションの自動インストールのバッチファイルを作りたいのですが、いくつかわからないことがあるのでどなたか教えて頂けないでしょうか?まず自動化したい処理は 1. Setup.exeを起動する 2. インストーラダイアログボックス内のNext(次へ),Back,キャンセル等ボタンを押すのを自動化する。ALT+N みたいなのを自動化したいです。 3. アプリケーションのリソースdiscが3枚あるので、dick1(setup.exeが入ってる)のインストールが終わったら、disc2をブラウズするように聞いてくるのでバッチファイルでパス名を指定して自動で開かせる、おなじくdisc3も処理させる。 以上です。当方初心者なものでして、1はできたのですが、2からできませんでした。いろいろ調べては見たのですが回答を見つけること出来ず。。。お手数ですがどなたか教えてください。どうかよろしくお願いします。

noname#203410
noname#203410

みんなの回答

  • iriyak
  • ベストアンサー率48% (40/82)
回答No.5

こんにちは。 ANo.3 の回答にある UWSC で No.1, 2, 3 のいずれもスクリプトによる自動化が可能です。 類似のオペレーションを UWSC で自動化したスクリプト例をお見せしますので雰囲気を感じてもらえれば幸いです。 (スクリプトの動作概要) タスクを一件登録します。ログイン時に notepad.exe を起動するタスク「タスク Notepad 起動」を作成登録します。 (コメント) ★1 実行の経過を確認しながら進めるときは true を設定 ★2 起動時の実行ユーザのパスワード情報を設定 ★3 質問者の No.1 のコーディング例 ★4 質問者の No.2 のコーディング例 ★5 質問者の No.3 のコーディング例 (スクリプト) const _debug = false // ★1 false → true (経過をダイアログ表示) dim wid dim waits = 0.1 dim pw = "パスワード" // ★2 パスワードを設定する confirm("タスクを開きます...") wid = EXEC("explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}") // ★3 confirm("タスクウィザードを開きます...") CLKITEM(wid, "スケジュールされたタスクの追加", CLK_DBLCLK) SLEEP(waits) wid = GETID("タスク ウィザード", "#32770") CLKITEM(wid, "次へ", CLK_BTN or CLK_SHORT) // ★4 confirm("参照から Notepad を選択します...") while CHKBTN(wid, "参照") = -1 SLEEP(waits) wend CLKITEM(wid, "参照", CLK_BTN or CLK_SHORT) SLEEP(waits) wid = GETID("実行するプログラムを選択してください", "#32770") SENDSTR(wid, "c:\windows\system32\notepad.exe") // ★5 SLEEP(waits) CLKITEM(wid, "開く", CLK_BTN or CLK_SHORT) SLEEP(waits) confirm("スケジュール設定を行います...") wid = GETID("タスク ウィザード", "#32770") SLEEP(waits) SENDSTR(wid, "タスク Notepad 起動") SLEEP(waits) CLKITEM(wid, "ログオン時", CLK_BTN or CLK_SHORT) SLEEP(waits) CLKITEM(wid, "次へ", CLK_BTN or CLK_SHORT) SLEEP(waits) confirm("認証情報を設定します...") SENDSTR(wid, pw, 2) SLEEP(waits) SENDSTR(wid, pw, 3) SLEEP(waits) CLKITEM(wid, "次へ", CLK_BTN or CLK_SHORT) SLEEP(waits) confirm("終了しました (Exiting...)") CLKITEM(wid, "完了", CLK_BTN) SLEEP(waits) procedure confirm(s)   if _debug then MSGBOX(s, BTN_YES, 10, 10) fend

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

No.2です。 VBSを実行したらノートンが反応してしまいましたか。うちのウイルスバスターは反応しないので、ノートンは厳しいのですね。 Setup.exeがサイレントインストールに対応しているのなら手っ取り早いです。サイレントモードでの実行方法はアプリごとに異なるので、どうしたらいいかは調べていただくしかないですが、下記のURLに何かヒントがあるかもしれません。 http://www.geocities.jp/hxbsrejoh/ ここの一覧にないアプリでも、InstallShieldなど、汎用のインストーラ作成ソフトでSetup.exeが作られているのなら、このURLの下の方に書いてある方法でサイレントインストールができるかもしれません。

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.3

手っ取り早くやりたいなら、操作自動化ソフトがいいと思います。 UWSCがおすすめです。 http://www.vector.co.jp/soft/win95/util/se115105.html

noname#203410
質問者

お礼

情報ありがとうございます!!なるほど、こういう便利なものがあるのですね!でもこれって他の人のPCでも同じように実行できるのでしょうか?環境が違うPC上でもちゃんと動作させたいものでして。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

WSHのSendKeysを使えばできないでしょうか? 下記のURLの例ではメモ帳を起動していろいろやってますが、notepade.exeでなくSetup.exeを起動して、その後のキー操作をSendKeysで記述すればいいかもしれません。ダイアログの表示を待つ例も載っています。 http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html WSHを使うのがはじめてであれば、サンプルをとりあえずコピーしてtest.vbsのように拡張子vbsをつけて保存し、そのまま実行すればいいでしょう。バッチから呼び出すなら、 cscript test.vbs などと書けばいです。 もっともNo.1の方の仰る通り、ユーザが途中で何か操作をしてしまえばだいなしなので、完璧とはいきませんが。

noname#203410
質問者

お礼

情報ありがとうございます。今日職場の人に聞いたらScriptitなるものがあって、これに近い感じでした。詳しいやり方はわかりませんが。あと、このサイトのスクリプトを拡張子VBSで実行するとノートンがウイルス検知してしまいました。アプリの自動化を自分の友達に使いたいので、できるばノートンが起動しない方法が好ましいのですが。自分のPCだとノートンで許可しちゃうばそれでOKなのですけど。 それとインストールしたいアプリのSetup.exe /?でオプションを確認して、サイレントモード??みたいなのがあって、それを使うと簡単に自動インストールするとも聞いたのですがそうなんでしょうか?? とにかくすごく参考になりました。いろいろ模索してみたいと思います。

noname#245936
noname#245936
回答No.1

そうなんですよね。 自動、複数アプリケーションインストーラ作りたいですよね。 私も簡単な作り方があれば知りたいです。ホント。 しかし。 実際の話、インストーラの…といいますか。 Aアプリケーション(バッチ)から、Bアプリケーションの「画面を」 直接操作させることは、VBなどでいうKey押下情報のSendだけでは 不十分です。これはユーザが変な画面操作を割り込みで行うと バッチ側の制御が破たんするからです。 そこで。技術的には。 Aアプリケーション(バッチ)はBアプリケーションを同期起動する とともに、BアプリケーションのWindowsハンドルを取得し、かつ、 ボタンのコントロール名かIDで制御することが必要なのでして。 …高度というか、面倒くさいCプログラミングをゴリゴリ書くことが 必要だと思います。 私の場合は、そこまで作るのが面倒ですので。 インストーラを利用せず、全部バッチでがっさりコピーし、 レジストリをいじる様な一括バラバラコピーバッチを利用するか、 Shellメニューを作ることで逃げています。 私もいいやり方があれば教えてほしいですね。

noname#203410
質問者

補足

yama-takuさん、早い回答ありがとうございます!! >えっと、Aアプリケーション(バッチ)から、Bアプリケーションの「画面を」直接操作させることは、VBなどでいうKey押下情報のSendだけでは不十分です とありますが、職場の人はこれでやってた気がします。これだと一応バッチファイルだけで可能なんですか?VBはよくわからないので。。。 もしこのやり方で可能ならば、できたら教えて頂いてよろしいでしょうか? お手数かけて本当にすいませんです。

関連するQ&A

  • バッチファイルによる自動化

    よろしくお願いします。 今、バッチファイルによる作業の自動化をしています。 そこで質問があります。 A.exeという自己複製型ファイルがあります。 それをバッチファイルにより実行します。 すると、パスワードと復号先をダイアログボックスで聞いてきます。 その復号先に自動でC:\AAAと指定するにはどうしたら良いのでしょうか? バッチファイルの中で指定できるものなのか、他に方法はありますか? ちなみに、復号先として初期値がE:\Mydocumentになっています。 A.exeの置き場所の問題では無いようだし、カレントディレクトリも関係ないようで…。 バッチファイルで指定できないかと思い、質問させて頂きました。 以上、よろしくお願い致します。

  • バッチファイルの作り方?

    バッチファイルについての質問です。 初心者なので、質問の情報が足りないかもしれませんが どうぞよろしくお願いします。 バッチファイルで、現在のアプリケーションを削除後、 再起動、そして新しいアプリケーションをインストールし、 再起動を実現したいと思います。 (アンインストール.exe→Windows再起動→インストール.exe→Windows再起動) これを実現するにはどういうバッチファイルを書けばよいでしょうか? また、バッチファイルではなくても他に方法はないでしょうか? アドバイスよろしくお願いします。

  • バッチファイルを作成して、アプリケーションをアンインストールしたい。

    バッチファイルを作成して、アプリケーションをアンインストールしたい。 同じアプリケーションを複数の方がインストールしていますが、コントロールパネルからの削除は危惧しております。このアプリケーションはアンインストールexeが無いため、バッチファイルを作成して、簡単に削除することはできないてしょうか。 いろいろと調べましたが、なかなか見つからないため、質問しました。 よろしくお願いします。

  • バッチファイルで自動インストール

    PCのリカバリー時にフリーウェアやシェアウェアを含め、手早くインストールできるようにバッチファイルを作成したいのですが、よく分かりません。 バッチファイルで、*.EXEファイルを実行してインストールのウインドウが表示されますが、以下のやり方が分かりません。 (1)「次へ<N>」のクリック (2)「シリアルNo.」の入力 (3)「TABキー」の入力 (4)「スペースキー」の入力(チェックボックスにチェックを入れる) (5)「ENTERキー」の入力 インストールソフトは「MS Office製品」、「Adobe製品」など多数ありますがPCの用途は同じなので、毎回インストールソフトは同じです。

  • 【VB2005】セットアッププログラムの自動ファイル補完について

    【VB2005】セットアッププログラムの自動ファイル補完について EXEと設定ファイルをインストールするセットアッププログラムを作りました。 EXEと同じフォルダにある設定ファイルをエクスプローラーで削除して、 再度EXEを起動するとインストーラが起動して、手動で削除した設定ファイル を再インストールしてしまいます。 誤って削除してしまった場合は便利なのですが、わざと削除したのに 再インストールされるのは困るのですが、これを自動で勝手に 再インストールしないようにはできないのでしょうか? ご教授のほどお願いいたします。

  • インストール(セットアッププログラム)の自作について(OSはVISTA

    インストール(セットアッププログラム)の自作について(OSはVISTA、WIN7です。) あるプログラムをインストールする前、もしくは後に別のプログラムを実行させるようなバッチファイルを作りたいのです。 「SETUP_1.exe」の実行 次に 「SETUP_2.exe」の実行 という連続処理を、例えばSETUPALL.exeを一回実行させれば行える様なバッチファイルです。 SETUP_1.exeとSETUP_2.exeのパスが固定ならバッチファイルにパスを指定して書けばいいので それはわかるのですが、USBとかCDで配布した時にドライブ名がPCによって変わると思うのでどうすればよいかわかりません。「カレントフォルダ(?)のSETUP_1.exe」というような指定の仕方をする方法があるのでしょうか?普通のバッチファイルの処理では無理でしたら、他によい方法はありますでしょうか?

  • 自動でメールを送信するCMDのバッチファイル

    自動でメールを送信する為のCMDのバッチファイルを 作成しようと思いましたが、 そんな事ってできますでしょうか? Windows既存のexeファイルなどを使ってよいので 何とか、自動でメールを送信するバッチファイルを 作成したいと思っていますが方法が分からず悩んでいます。 よろしくお願いします。

  • バッチファイルでレジストリキーを読み出すには?

    バッチファイルから、レジストリキーを読み出す方法を探しています。 やりたいことは、あるソフトウェアのインストール後に、一部のファイルのみをバッチファイルで置き換えたいのです。ソフトのインストーラは既存のものなので、変更できません。ソフトが何処にインストールされるかはユーザ次第です。 このソフトをインストールすると、レジストリにインストールフォルダのパスが格納されるので、これを取得して、ファイルのパスを割り出すことを考えています。 バッチファイルから指定のレジストリキーを読み出す方法をご存知の方はご教授ください。

  • dlファイルについて

    あるインストーラーファイル(exeファイル)を立ち上げる際に、 アプリケーションまたは DLL ….dll は正しいWindowsイメージではありません。これをインストールディスクのファイルと照合してくださ い。 と表示されて、インストールができません。 これはどういうことなのでしょうか? わかる方、対処方法等を教えてください。

  • Photoshopのバッチ処理で保存ダイアログを出さない方法

    Photoshop7.0 のバッチ処理について教えてください。 JPEGファイルをバッチ処理で加工(サイズ変更と自動レベル補正など)して保存しようとすると、JPEGで保存するときの品質を指定するための保存ダイアログがファイルごとに出て、OKを押さないと次のファイルを処理してくれません。 このダイアログが出るときと出ないときの条件を探ってみると、デジカメで撮影したJPEGファイルを加工して保存するときはダイアログが出て、一度Photoshopで保存したJPEGはバッチ処理でも保存ダイアログが出ません。 バッチ処理のダイアログで 実行後:を「保存して閉じる」「フォルダに保存」のどちらにしたかは関係ないようです。 デジカメで撮影したJPEGファイルをバッチで加工したいのですが、このダイアログを出さずにノータッチですべて処理できないでしょうか。

専門家に質問してみよう