2

Vagrant によってプロビジョニングされた Windows Server 2008 R2 - Datacentre コア ( vagrantbox.esからダウンロード) VM でchef-solo、クックブックをテストするために実行します。windows_packageWin32APIError を取得しないと実行できません。

次のレシピステップを実行します。

windows_package ".NET 4.0" do
  package_name "Microsoft .NET Framework 4 Extended"
  source "http://download.microsoft.com/download/3/6/1/361DAE4E-E5B9-4824-B47F-6421A6C59227/dotNetFx40_Full_x86_x64_SC.exe"
  options "/q"
  installer_type :inno
  action :install
end

次のエラーが発生します。

Chef::Exceptions::Win32APIError: windows_package[.NET 4.0] (<my recipe> line 10) had an error: 
 Chef::Exceptions::Win32APIError: remote_file[C:/vagrant/cache/dotNetFx40_Full_x86_x64_SC.exe] (dynamically defined) had an error: 
 Chef::Exceptions::Win32APIError: Incorrect function.
get_named_security_info(C:/vagrant/cache/dotNetFx40_Full_x86_x64_SC.exe, SE_FILE_OBJECT, 7)
 ---- Begin Win32 API output ----
System Error Code: 1
System Error Message: Incorrect function.
---- End Win32 API output ----

セットアップ ファイルは正しくダウンロードされ、chef エラーの後で VM コンソールから手動で実行できるので、Ruby/Chef パーミッション エラーであると推測しています...

Opscode SQL Server レシピをインストールしようとすると、同じget_named_security_infoエラーが発生します。

何が間違っているのですか??

--
Chef バージョン 11.4.4-2 を使用

4

1 に答える 1

3

とった。このエラーは、キャッシュ フォルダー (インストーラーがダウンロードされる場所) が Vagrant の "ネットワーク共有フォルダー" にあったことが原因であることが判明しました ( c:\vagrant\cache\)。c:\temp\cacheたとえば、に変更すると、get_named_security_info()エラーが解決します。

したがって、私のchef-solo構成ファイルでは:

file_cache_path "C:/temp/cache"
于 2013-06-19T12:57:46.357 に答える