簡體   English   中英

找不到rtl90.bpl,如何將其包含在Delphi 2005 win 32bit應用程序中?

[英]rtl90.bpl was not found, how do I include it in my Delphi 2005 win 32bit app?

我發現自己經常支持的軟件無法在其他PC上運行。 通常,它們是Win7的新安裝。

錯誤消息是“此應用程序無法啟動,因為找不到rtl90.bpl ...”

為了糾正該問題,我已經PC支持將rtl90.bpl文件復制到用戶的system32目錄中,但是我想確保不再發生此錯誤。

我已經用Google搜索並找到了以下鏈接rtl90.bpl問題

我的問題是:在此程序的“項目”選項下已經選擇了“使用運行時程序包生成”選項,對於出現問題的用戶似乎沒有任何影響。

我是否必須專門將丟失的rtl90.bpl文件添加到項目中?

請注意,我對delphi編程了解甚少。

由於您在項目中被標記為“ Build with runtime packages ”選項,因此最終exe將需要與一些其他bpl文件一起部署。 為了避免這種依賴性,您必須取消選中該選項y才能構建項目。 現在,您的exe將會更大,但是沒有依賴性。

該程序包是包含VCL的運行時程序包。 您可能還需要為RTL以及其他一些部署rtl90.bpl。 通過啟用運行時軟件包,您有望將那些軟件包部署在可執行文件可以找到它們的地方。

您有3個主要選項:

  1. 將程序包部署到PATH變量中包含的位置。 通常,這意味着修改PATH。 您永遠不應寫入系統目錄。 它歸系統所有,您應該尊重這一點。
  2. 將軟件包部署到與可執行文件相同的目錄中。
  3. 禁用運行時程序包,並因此構建一個獨立的可執行文件。 RTL / VCL代碼將靜態鏈接到您的可執行文件中。

我認為選項1很差。 依靠PATH變量及其修改能力很脆弱。 選項2可以使用,但與選項3相比顯得毫無意義。選擇2時會部署更多文件,並且會部署更大的文件,所以為什么選擇它。

總之,我建議選擇3。將所有RTL / VCL代碼靜態鏈接到可執行文件中。

在我看來,選項2獲勝的唯一情況是,當您有多個相關的可執行文件全部部署到同一目錄時。 在這種情況下,共享RTL / VCL代碼可能很有意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM