2009-12-15 109 views
0

我有一個asp.net項目,並寫了一個web安裝程序。 安裝程序exe/msi將該項目複製到安裝用戶選擇的目錄中,併爲其創建應用程序。ASP.NET項目安裝程序註冊表項?

我怎樣才能得到我的asp.net應用程序安裝到(在安裝程序中)的路徑? 我想寫我的ASP.net應用程序的物理路徑到註冊表中,因爲一個Windows服務需要看這個Web項目的目錄,並且它不能這樣做,除非它知道Web項目的安裝位置。

Webinstaller項目是否有可能將此值自動寫入註冊表中?

回答

1

這是可能的:

上安裝項目右鍵單擊,然後選擇查看 - >從上下文菜單中的註冊表。
右鍵單擊HKEY_Local_Machine,添加一個新的密鑰,將其稱爲Software。
右鍵單擊Software,添加一個新密鑰,將其稱爲「MyCompanyName」。
右鍵單擊MyCompanyName,從上下文菜單中選擇新建 - >字符串 稱之爲安裝文件夾。
在installationFolder鍵左鍵點擊,並設置屬性值設置爲[TARGETDIR]
添加其他字符串鍵,把它的版本,並給它的值的ProductVersion]

包括[]


在x64上,你會發現在註冊表編輯器的註冊表項下
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ YourCompany]


但是編程,就可以正常讀取它,從正常的項目和web項目,有:
My.Computer.Registry.GetValue( 「HKEY_CURRENT_USER \ SOFTWARE \ YourCompanyName」, 「安裝文件夾」,爲Nothing)

0

不幸的是; IIS使用註冊表以外的方式來存儲其配置。

對於IIS4,IIS5和IIS6,您需要查看IIS元數據庫。這是您的Windows文件夾中的一個XML文件,位於system32\inetsrv\Metabase.xml;它是XML,所以你應該能夠直接閱讀它來找到你需要的信息。

IIS7不再使用Metabase;相反,請參閱here瞭解託管API到IIS配置的詳細信息。

因此,您可能會發現最好重新安裝應用程序,以便在這些位置中查找所需的目錄信息。