2013-09-25 41 views
11

Tôi có trình cài đặt cấu hình 2 trang web, một trong số đó có một số ứng dụng trong trang gốc. Các trang web cấp cao nhất được cấu hình cho Windows Authentication chỉ, như sau:WiX không cấu hình trang IIS đúng cách

<iis:WebSite Id="WebSite" 
      Description="Application" 
      Directory="WEBSITE_INSTALLLOCATION" 
      AutoStart="yes" 
      ConfigureIfExists="yes" 
      StartOnInstall="yes"> 

     <iis:WebAddress Id="AllUnassigned" Port="80" /> 

     <iis:WebApplication Id="WebApplication" 
          Name="Console" 
          WebAppPool="WebAppPool"/> 

     <iis:WebDirProperties Id="WebProperties" 
           AnonymousAccess="no" 
           WindowsAuthentication="yes" 
           AuthenticationProviders="NTLM,Negotiate"/> 

</iis:WebSite> 

khác (không bắt buộc) các thành phần trong trình cài đặt sau đó tuyên bố ứng dụng/thư mục ảo như sau:

<iis:WebVirtualDir Id="HelpWebSite" Alias="Help" Directory="ApexHelpDir" WebSite="WebSite"> 
    <iis:WebApplication Id="HelpApp" Name="Help" WebAppPool="WebAppPool"/> 
    <iis:WebDirProperties Id="HelpProps" AnonymousAccess="yes" WindowsAuthentication="no"/> 
</iis:WebVirtualDir> 

Các hành vi tôi nhìn thấy là những gì tôi mong đợi 9/10 lần, nhưng thỉnh thoảng trình cài đặt sẽ cài đặt trang web "Website" với cả xác thực ẩn danh xác thực cửa sổ, thay vì chỉ ứng dụng Trợ giúp có xác thực ẩn danh. Lời giải thích duy nhất cho điều này mà tôi có thể nghĩ là hành động thêm một thư mục ảo/ứng dụng bên dưới một trang gốc đôi khi làm cho root thừa kế các thiết lập xác thực con cũng như của nó.

Lưu ý: Tôi đã cố gắng tăng lỗi này dưới dạng lỗi trên trang wixtoolset.org nhưng vẫn gặp lỗi khi cố gắng làm như vậy.

+0

Bạn đã bao giờ tìm giải pháp cho vấn đề này? –

+0

@Không, không may là tôi vẫn chưa tìm thấy giải pháp cho vấn đề này. Chúng tôi hiện đang sử dụng WiX 3.7, vì vậy tôi không thể nói liệu nó đã được sửa chữa như của 3.8 – Joeb454

+0

bây giờ mà tôi nghĩ về điều này, tôi đã nhìn thấy hành vi này. Tôi có một cài đặt này mà mỗi một lần trong một thời gian cả hai auth được kích hoạt. Hmmmm. –

Trả lời

2

Hoặc, bạn có thể viết tập lệnh lô để tạo trang web và gọi từ WIX làm tác vụ tùy chỉnh.

Viết tập tin bó

%systemroot%\system32\inetsrv\appcmd.exe add site /name:YourWebSite /PhysicalPath:%systemdrive%\inetpub\wwwroot /bindings:http/*:80: 

WIX (product.wxs)

<CustomAction Id="CreateWebsite" Execute="deferred" Impersonate="no" Return="check" Directory="TARGETDIR" PatchUninstall="no" ExeCommand="Batchfilepath" /> 

<InstallExecuteSequence> 
<Custom Action="CreateWebsite" Before="InstallFinalize">NOT Installed AND NOT PATCH</Custom> 
</InstallExecuteSequence> 

Thay đổi ExeCommand của bạn giá trị thuộc tính để trỏ đến đường dẫn tập tin batch đúng.

0

Giải pháp thay thế cho tôi là tắt Xác thực ẩn danh ở cấp máy chủ.

Dường như khi sự cố này xảy ra, nó sẽ kế thừa cài đặt từ cấp máy chủ, mặc dù tôi không biết tại sao nó chỉ xảy ra đôi khi.

Đây là kịch bản Powershell:

Set-WebConfigurationProperty -Filter "/system.webServer/security/authentication/anonymousAuthentication" -Name Enabled -PSPath False -giá trị IIS: \

Các vấn đề liên quan