2009-08-24 75 views
6

在爲我的Web應用程序(c#)創建安裝程序時出現錯誤。錯誤是源文件X在c#下的Windows系統文件保護下?

錯誤19'msado20.tlb'應被排除,因爲它的源文件'C:\ Program Files \ Common Files \ system \ ado \ msado20.tlb'在Windows系統文件保護下。

是什麼意思?

回答

6

您需要從安裝程序中排除該文件。

從MSDN

指定的文件是2003年受保護的系統文件通常是通過操作系統的服務包或獨立的安裝包,如Windows安裝在Windows 2000,Windows XP中,和Windows Server受保護的系統文件媒體播放器或Internet Explorer。如果將此文件安裝在不支持受保護系統文件的操作系統上,則將該文件包含在安裝程序中可能會導致不穩定。例如,通過在System文件夾外安裝諸如stdole.tlb之類的組件並進行註冊,您將在系統文件保護下覆蓋該組件的註冊。卸載應用程序後,將刪除應用程序安裝的組件,並且系統文件保護下的組件爲 ,並保留未註冊狀態。

再見。

+0

此係統存在問題,因爲Windows系統文件保護下的文件與系統有關。我們的開發機器在保護下沒有msxml6.dll,但是我們的構建機器會檢測這個文件爲依賴項。這意味着如果我們的開發機器簽入對安裝項目的更改,他們將WIPE msxml6.dll排除,這會打破我們的構建。 – Shiv 2017-08-25 02:57:13

0

Windows文件保護系統停止重寫系統文件。你的安裝程序不想安裝這樣的文件。

它看起來像有問題的文件是Microsoft ADO的一部分。因此,而不是通過安裝程序安裝此文件,您需要使其需要安裝您的應用程序所需的ADO版本。