2017-05-17 9 views
1

PowerShellスクリプトでSQL Serverデータツール(その他)をインストールしています。PowerShellを使用してインストールする場合は、インストールディレクトリを選択してください。

関連する部分は単純です:

& "\\mynetworkpath\installer.exe" 

または

Start-Process "\\mynetworkpath\installer.exe" 

私はインストールの引数を持つ空想得るようなものを感じます。

問題が

C、ポップアップする最初の事は、私は私のスクリプトを実行すると、それはインストール場所を選ぶ

「を解凍したファイルのディレクトリを選択してください」と言うである:\ WINDOWS \ SYSWOW64 \ SSDTBI_x86_ENU \ x86 \ setup \

私が望むのは、手動インストールのようなインストール場所を生成するためです。私はちょうど管理者としてインストーラをクリックして実行した場合には、生成さ:

E:\ e369a6f811046fa831f81e12 \

をディレクトリ名は私もインストールするたびに異なっていること。

+0

それは価値がある何のため://www.nuget:SSDT/DacFXは今、httpsのNuGetとして提供されています.org/packages/Microsoft.SqlServer.DacFx.x64/ – gvee

+0

"最初にポップアップ表示されるのは"選択... "です - これはサイレントインストールですか、またはスクリプトがインストーラウィザードを起動していますか? – Jelphy

+1

そしてより直接的な答え'&" \\ mynetworkpath \ installer.exe " - ?' – gvee

答えて

2

スクリプトを実行する際にPowerShellは、デフォルトのディレクトリをオフに起こっています。 Windowsで実行するとE:\が選択される理由はわかりませんが、そのためにはオペレーティングシステムに特別な構成が必要です。

にかかわらず、解決策は単純です:Eへの変更ディレクトリ:\インストーラを呼び出す前に:

cd E:\ 
& "\\mynetworkpath\installer.exe" 
+0

それは動作します。ありがとう! – jdope

3

ディレクトリ名は、インストーラによって設定された可能性が高いパラメータです。

は、あなたのインストーラ用のスイッチを確認するには、次の

\\mynetworkpath\installer.exe --help 
\\mynetworkpath\installer.exe /? or -? 

あなたの.exeファイルは例えば、このサポートしている場合は、ログファイルを生成してみてください:

installer.exe /Log=C:\MyLog.txt 

..andは、ログファイルをチェックします関連する 'set directory'プロパティのために。パラメータ名を見つけたら、スクリプトの引数として渡すことができます。

このリンクは、.exeのコマンドラインオプションの詳細を持っています How can I find out if an .EXE has Command-Line Options?

+0

これは機能しない理由はありますか?私は ''〜? ''を得る。 'FEATURES'を設定するための有効な値ではありません。 '/? 'と同じです – jdope

+0

インストーラに関連するヘルプが表示されます。 installer.exeがあるディレクトリでPowerShellを開き、installer.exe /を実行します。またはinstaller.exe --help(他のバリエーションが有効です)。 – Jelphy

+0

ディレクトリに移動して 'installer.exe /?'と 'installer.exe - ?'と '-help'を実行します。 「installer.exe」という用語は、コマンドレット、関数などの名前として認識されません。 – jdope

関連する問題