我正在爲Web應用程序編寫一個基於Wix的安裝程序,並且希望對它安裝的文件夾設置權限,以便IIS可以訪問它們。爲IIS確定IIS用戶5
IIS 6和7分別使用IIS_WPG
和IIS_USRS
,IIS 5使用IUSR_COMPUTER NAME
。但是,如果用戶更改了機器名稱,則使用當前計算機名稱設置權限將失敗。
有沒有一種通過編程方式確定IIS 5所使用的用戶帳戶的方法,而不是假設它會是IUSR_COMPUTERNAME
?
我正在爲Web應用程序編寫一個基於Wix的安裝程序,並且希望對它安裝的文件夾設置權限,以便IIS可以訪問它們。爲IIS確定IIS用戶5
IIS 6和7分別使用IIS_WPG
和IIS_USRS
,IIS 5使用IUSR_COMPUTER NAME
。但是,如果用戶更改了機器名稱,則使用當前計算機名稱設置權限將失敗。
有沒有一種通過編程方式確定IIS 5所使用的用戶帳戶的方法,而不是假設它會是IUSR_COMPUTERNAME
?
我正在做這樣的(不假裝提供最佳實踐的解決方案) - 這是一個直接的CA,其設置的屬性,你可以在以後使用:其中定義了GetAccountDomain方法
像這樣:
static string GetAccountDomain(string accountName, Session session)
{
SelectQuery query = new SelectQuery("Win32_UserAccount", string.Format("Name='{0}'", accountName), new string[] { "Domain" });
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
try
{
foreach (ManagementObject account in searcher.Get())
{
return (string)account["Domain"];
}
}
catch (Exception ex)
{
session.Log("Failed to get a domain for the user {0}: {1}", accountName, ex.Message);
}
return null;
}
希望這有助於。
非常感謝您的幫助,這看起來非常有用。我已經暫時轉移到另一個項目幾周,所以我無法檢查它,但我會盡快完成。 再次感謝, 保羅 – Votive 2010-03-02 16:21:03
我假設你總是將此應用程序安裝到默認網站(IIS網站#1)? – Kev 2010-02-04 02:09:54