web-dev-qa-db-ja.com

最初の起動時にスクリプトを1回実行する方法

WDSでの展開に使用するWindows 7イメージがあります。すべてのアプリケーションをマスターイメージにインストールします。新しいAdobe CS6スイートは、マスターイメージではなく、展開時にシリアル化する必要があります。

初期展開の最初の起動時にこれを1回実行する必要があります。実行するコマンドは次のとおりです。

AdobeSerialization.exe --tool = VolumeSerialize

コマンドを手動で実行するとコマンドが機能することはわかっていますが、初回起動時に一度だけ自動で実行することはできません。

AVクライアントと他のいくつかの項目を実行してインストールするこのスクリプトは既にあります:c:\ Windows\Setup\Scripts\SetupComplete.cmd

AdobeSerialization.exeをc:\ Windows\Setup\Scripts \にコピーしましたが、実行されていないようです。

初回起動時にこのスクリプトを1回だけ実行するための推奨アプローチは何ですか?

4
Sandy

実際のスクリプトにしてみてください:
メモ帳でファイルAdobeSerialization.cmdを作成し、次の行を追加します。

@echo off
start /d "path_to_file" AdobeSerialization.exe --tool=VolumeSerialize
del AdobeSerialization.cmd

次に、スクリプトをAdobeSerialization.cmdC:\Windows\Setup\Scripts\に移動します

スクリプトの最後の行では、ファイルは自分自身を削除して、再度実行されないようにします。または、最後の行を次のように変更して、スクリプトをマシンから削除したくない場合は、スクリプトを別の場所に移動できます。

move AdobeSerialization.cmd "new_path"
4
에이바

HKLMハイブでRunOnceレジストリキーを使用することを検討してください。これにより、最初にログインしたユーザーに対して1回実行されます。

http://msdn.Microsoft.com/en-us/library/aa376977%28v=vs.85%29.aspx

これをマスターイメージに設定して、最初の起動時にコマンドを実行できます。 Windowsはレジストリキーの削除に注意を払っています。

EDIT(@gussに感謝)-RunServicesOnce(上記と同じリンクで)は、ユーザーがログインするのを待たずに、ブートごとに1回実行されます。ユーザーログインが必要ない場合は、そのキーが正しい選択のようです。

2
codingoutloud