2010-07-19 45 views
3

我正在嘗試設置我的網站設置項目的自動化(夜間)安裝。我可以在命令行上指定一些安裝時間值;特別是,添加一個TARGETSITE值定義了我的新部署將要發往的網站。我的IIS7網站的元數據庫密鑰在哪裏?

如何在IIS7安裝中找到我的網站的元數據庫密鑰(例如「/ LM/W3SVC/213548468」)? (我有IIS6兼容性的所有設置,但我不能找到我的的metabase.xml文件網站任何內容。)

此外,由於網絡部署安裝項目顯然是不合時宜的機制(我猜他們是否太容易使用?),有沒有人有更好的想法,我的夜間自動部署?

回答

9

在IIS 7及以上的,我們不使用配置數據庫了,而是移動到我們所有的設置保存裏面的‘%WINDIR%\ SYSTEM32 \ INETSRV \設置\的applicationHost.config’一「的.config」模式,即您可以在其中找到您所應用的所有信息和設置。如果啓用IIS 6兼容性,我們將通過將它們直接轉換爲新的ApplicationHost.config來運行所有命令。

如果您知道更多關於您今天的工作方式,將會非常有用,如果您使用託管代碼,最好的解決方案可能是使用Microsoft.Web.Administration(http://blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx),其中包含一個名爲ServerManager的類,以允許您設置所有內容你需要。

如果您使用腳本(vbscript/jscript),您可以繼續使用腳本或使用AHADMIN,這是我們新的基礎COM配置api。

如果你使用powershell,我們也有一個PowerShell提供者(http://www.iis.net/download/PowerShell)提供哪種應該是最好的。

此外,如果你真的想要打包內容,配置和其他東西一樣的註冊表設置,COM對象,GAC的DLL等,你應該使用Web部署(http://www.iis.net/download/WebDeploy

+0

ApplicationHost.config文件正是我一直在尋找的!同時也要感謝關於新部署技術的建議 - 聽起來我們應該看看WebDeploy。 – ladenedge 2010-07-20 16:02:00

1

我一無所知元數據庫,但是從您的帖子我可以拼湊在一起以下內容:

import-module WebAdministration 
$site = get-website | Where-object {$_.Name -eq "SiteName"} 

$id=$site.ID 

setup.msi /passive TARGETAPPPOOL=`"ASP.NET v4.0`" TARGETSITE="/LM/W3SVC/"$id 

反標記是powershell的轉義字符。