目前我將一個項目從Delphi XE移動到XE8。 我們使用一個組件,但最新的版本是用於XE3的,所以我將代碼改爲編譯。 現在我想安裝設計時間包,但是我收到rtl170.bpl丟失的錯誤。 沒有人僅將rtl170指向rtl庫。 我讀了一些關於運行時軟件包的內容,但在這個項目中,我沒有在項目選項中的軟件包下有這個菜單項。有什麼建議? 之前在這臺電腦上安裝了Delphi XE,但是我在安裝XE8之前先卸載了它。安裝Delphi包丟失rtl170.bpl錯誤
回答
爲XE3所以採取的代碼,並改變它,直到它編譯
通常部件由兩個BPL文件,運行時封裝和設計時包(使用運行時的一個)。組件庫(如Raize,JediVCL,DevExpress等)由數十個BPL對組成。
需要一些工具來檢查DLL依賴關係(例如:CFF Explorer或Microsoft的Dependency Walker或WLX的FileInfo),並檢查您的組件BPLs - 你要確定它們中的哪一個組件的BPL是需要rtl170.bpl
DLL
這可能是一個有用的想法,要麼登錄BPL加載像SysInternals進程監視器或只是掃描您的所有磁盤的BPL名稱。這可能是你有這樣的事情:
- 新建設計時BPL嘗試安裝(沒有鏈接到rtl170)
- 新建運行BPL(也沒有鏈接到rtl170)
- 舊運行時BPL,由XE3構建並引用rtl170。如果它存在,那麼(1)BPL可能找到並加載(3)而不是(2),所以無論您將重新編譯多少個(2),它都不起作用。
這只是一種可能的混淆場景,但肯定會發生。 確保xe3製造的BPL沒有舊的遺蹟。
有時只是發現和刪除雜散舊的BPL修復問題(例如 - 修復了XE2的upd4:-D)。
對於其餘的我們認爲你發現不是老流氓BPLs,你發現新的XE8編譯BPL仍然引用rtl170。
然後,如果您擁有組件的完整源代碼 - 刪除(或暫時移除)其所有DCP/DCU文件並強制編譯所有程序包的源代碼可能會有幫助。再次,您可以使用SysInternals Process Monitor等工具快照Delphi編譯包的文件訪問日誌。有時候,它顯示德里忽視DPK/PAS源文件,並使用舊的DCU/DCP進行編譯。實際上,XE8與XE3的DCU/DCP兼容的可能性很低,但這仍然是研究您的情況的途徑之一。
現在我們假設你沒有任何dcu/dcp/bpl文件顯示你的硬盤可以訪問到Delphi。假設您製作了編譯組件的唯一方法 - 從源代碼完成100%。
機會是 - 這些設置是無論是在.DPK文件(或任何其他帕斯卡源)您有故障包,或在.DPROJ呸你錯誤的包(當時他們都可以訪問在IDE項目選項對話框中或通過任何XML編輯器)。或者在DPROJ和PAS/DPK文件中,有時。
你要找到這些設置和解決這些問題來回M170到xe8 BPLs
的實際後綴我有同樣的問題,我花了一段時間來找到解決方案。我目前的Delphi版本是XE6,但是當我試圖安裝特定的BPL時,它一直想要使用rtl170。 BPL編譯好,但不會安裝。機器上曾經有XE3的副本,但是我已經卸載了它。
原來我在C:\ Windows \ sysWOw64中有一個相同的運行時BPL的舊副本。一旦我刪除了sysWOw64中的副本,XE6就不再抱怨了。
- 1. 將SynEdit安裝到Delphi 2010 - SynEdit_R2010.bpl丟失
- 2. 安裝Delphi XE(BPL混合路徑)後Delphi 7崩潰
- 3. ;包裝原型後丟失錯誤
- 4. Delphi組件安裝錯誤
- 5. Delphi 2006丟失組件包
- 6. 安裝包錯誤
- 7. 安裝Composer失敗「openssl擴展名丟失」錯誤
- 8. 的Visual Studio 2017年安裝失敗,包安裝錯誤
- 9. C++ Builder XE3 64位應用程序始終需要rtl170.bpl
- 10. delphi運行時包安裝
- 11. Delphi 7卸載並安裝錯誤
- 12. 安裝Update2後,Delphi FireMonkey KeyboardType錯誤
- 13. Delphi 2007幫助系統安裝「錯誤」
- 14. PIP安裝錯誤安裝包時
- 15. json gem安裝包安裝錯誤
- 16. conda安裝錯誤:PackageNotFoundError:在當前的linux-64通道中丟失包:
- 17. 安裝軟件包失敗:安裝軟件包beautifulsoup4時發生錯誤? ?
- 18. 安裝SAP HANA VORA:錯誤依賴關係:libgmp.so.3丟失
- 19. msvcr110.dll在安裝PHP時從計算機錯誤中丟失
- 20. Delphi - BPL中的unmangle名稱
- 21. Delphi XE找不到BPL
- 22. 安裝CEPH失敗,「安裝錯誤5 =輸入/輸出錯誤」
- 23. 安裝Rsubread包的錯誤
- 24. 錯誤安裝jquery包後
- 25. Python錯誤安裝包
- 26. Xamarin包安裝錯誤
- 27. Linux錯誤安裝包
- 28. 錯誤安裝「SADS」包
- 29. NuGet安裝FarseerPhysics.Portable包錯誤
- 30. BSTS包安裝錯誤
rtl170是rtl的XE3版本。很明顯,你指的是某個地方。如何一個不錯的簡單MCVE? –
我試着看看整個項目(它是我們得到源代碼的第三方),但是我無法找到像rtl170 – Sebastian
那樣的東西,所以要做一些調試。去掉東西直到錯誤消失。那麼你拿出的最後一件事情應該會引導你解決問題。 –