3

MSDeploy を使用して多くの IIS Web サイトを移動していますが、移動の一部として 3 つのレジストリ キーを含めようとしているときに問題が発生していますが、3 つのレジストリ キーすべてが各 Web サイトに常に存在するとは限りません。

問題は、レジストリ キーがソースにある場合は MSDeploy に移動させ、存在しない場合は黙ってスキップさせる方法はありますか?

SkipInvalidSource ルールを強制的に有効化および無効化してみましたが、どちらの方法でも問題に影響を与えるようには見えませんでした。

また、最後の注意点として、ソースのマニフェスト ファイルを使用しています (3 つの regKey プロバイダーのエントリが含まれています)。

4

1 に答える 1

0

ここでは十分な情報がありません:

  • あなたのWindowsのバージョンは何ですか
  • regkey プロバイダーのマニフェストはどのように見えますか

一般に... regKey プロバイダーが機能する前に、使用していることを確認する必要があります。

あなたはこれを見たことがあると確信していますが、念のため、役立つかもしれない2つの参考文献があります:

Web 配置ルールから

SkipInvalidSource (Skip Invalid Source Rule) [0.50]
データのソースが見つからない場合 (たとえば、regKey プロバイダーを使用し、指定したレジストリ キーが存在しない場合)、プロバイダーからのデータの同期をスキップします。このルールはデフォルトで有効になっています。

Web 配置の regKey プロバイダー

注意: レジストリ キーと値の ACL は同期操作で保持されますが、レジストリ内の特定のパスでは管理者権限が必要になる場合があります。指定したレジストリ キーにアクセスするために必要なアクセス許可がない場合、プロバイダーは失敗します。

ソース パッケージに存在しない宛先のレジストリ キーを削除しない例を次に示します。

msdeploy -verb:sync -source:package=C:\package.zip -dest:webServer,computerName=DestServer -skip:skipAction=Delete,objectName=regKey 
于 2011-10-24T22:19:42.033 に答える