Windows-Server-2012

7zip 命令行 - 找不到適用於檔案的程式碼

  • May 22, 2018

我們正在將伺服器遷移到新主機和從 Server 2k8 機器到 Server 2012 機器。有問題的伺服器有幾個驅動器來保存我們的站點和一些實用程序。這些驅動器在移動過程中完全複製。數據、文件夾結構和權限都應該相同。

最近在這台伺服器上執行Jenkins任務時,在日誌中發現如下:

G:\Websites\PathToWebsite>G:\Jenkins\Tools\7z a -tzip Website_PROD_Backup_20140311_.zip

7-Zip

$$ 64 $$9.20 版權所有 (c) 1999-2010 Igor Pavlov 2010-11-18 錯誤:7-Zip 找不到適用於檔案的程式碼。

7-Zip 安裝在伺服器上,我可以從 GUI 執行它嘗試執行的操作。我是一名開發人員,不習慣對此類問題進行故障排除,Google 針對特定錯誤並沒有讓我找到任何解決方案。

我能找到的最接近的匹配是一個網站,它說如果命令行工具小於 150K,則需要一些 .dll 文件。我在上面引用的路徑中找到了該工具,它超過了 150K。無論如何,我將 .dll 文件從安裝目錄複製到該目錄。這並沒有解決問題。

我應該怎麼做才能解決這個問題?我真的需要 7-Zip 才能從命令行工作,否則我們建構/部署過程的重要部分將不得不手動完成。

確保安裝了 7-zip 命令行版本;它與 GUI 是分開的。你可以在這裡下載:

http://www.7-zip.org/download.html

此錯誤的另一個原因是當您有 7z.exe 但沒有 7z.dll 時 - 命令行程序需要兩者才能正常工作。從普通的 7-zip GUI 安裝文件夾中複製這兩個文件對於我們 CI 上命令行程序的攜帶式版本就足夠了。

引用自:https://serverfault.com/questions/581377