2016-10-25 5 views
0

私はスクリプトにアプリケーションの修理/再インストールをしようとしているが、Microsoftのドキュメントは、このテーマに関する非常に詳細ではありません。https://msdn.microsoft.com/en-us/library/aa393044(v=vs.85).aspx完全な再インストールは

$_.Reinstall(10) はInstallModeの「パッケージ」を使用しているが、どのようなそれは含まれていますか?ショートカット($_.Reinstall(9))を再インストールしないようです。このメソッドを何回か実行する必要がありますか?誰が私がWin32_Productの方法の詳細な文書を見つけることができるか知っていますか?

Configureの方法は何ですか、どのように機能しますか? https://msdn.microsoft.com/en-us/library/aa389278(v=vs.85).aspx

+0

これらのメソッドは、ネイティブWindowsインストーラ関数のラッパーです。そのドキュメントには、[もう少し詳しく](https://msdn.microsoft.com/library/windows/desktop/aa370375)があります。それほど多くはありませんが、少しです。 –

+0

それは私のために十分です。残りの部分はテストによって把握されます。ありがとう! :) – Dfox

答えて

0

これらのうちの大部分(すべてではないにしろ)は、ネイティブAPIを呼び出すためのシムです。だから基本的に:

MsiReinstallProductは "再インストール"ではない、それは修理だ。製品が実際に何らかの方法で壊れていた(または確認したい)場合にのみ、電話をかけます。パラメータには、修復したいものが表示されます。私は最初の場所に元のMSIによってインストールされていないという明白な理由を除いて、ショートカットを修復しない理由はわかりません。ネイティブAPIが修復したいすべてのビットマスクを使用することを考慮すると、WMIの呼び出しは私にとっては奇妙に思えますが、WMIの再インストールは単一の番号をとっているようですので、複数回呼び出す必要があります。

設定はMsiConfigureProductです。これは、製品を欠席するように設定した場合のアンインストールを除いて、これではうまく使用できませんでした。あなたは、あなたのテストを実行しながら、ロギングポリシーを設定し、msixxx.logファイル内で見ることができ

https://github.com/heaths/psmsi

ヒース・スチュワートは、より有用である可能性があるのPowerShellにMSIをさらす多くの作業を、やりました一時フォルダ - あなたが正しい製品を持っているかどうか、Windowsが修復していると思っていることなどを確認するなど、何が起こっているかを知る手掛かりがあるかもしれません。WMIクラスは、これがヒースのインターフェースが私がこれよりはるかに優れている理由です。

関連する問題