簡體   English   中英

VCRedist 2015+ 上 Azure 功能

[英]VCRedist 2015+ on Azure Functions

我想運行在 Azure Function 應用程序上內部創建的 exe 文件。 它做了一些需要 Visual C++ redistributables 2015 的處理,但是它沒有安裝在 function 運行的虛擬機中,它只帶有 2012 ( 我使用 reg 查詢來找到這個)。 有沒有辦法讓可執行文件正常運行?

我嘗試在與我的 exe 相同的文件夾中復制一些必需的 dll 並將路徑添加到環境變量%PATH% ,這在 Functions 上不起作用,但在常規 VM 上起作用(可能是因為 Functions VM 的沙盒性質)。

對,那是正確的。 Azure 應用服務/Azure Function 在稱為沙盒的安全環境中運行,該環境具有一定的限制。 限制,例如玩一些 com 組件,寫入注冊表,User32/GDI32 限制。 沙盒 在此處進行了描述。

恐怕您將無法訪問控制台並安裝任何通過腳本運行的第三方庫,例如:EXE 或 MSI。 因此,您不必顯式加載/安裝任何東西。

因此,如果您有任何與這些沙盒限制相關的任何內容,那么選擇 Azure VM(您可以自己管理操作系統和已安裝的庫)將更有意義。

僅供參考,您可以參考內容來檢查您的應用服務安裝了哪個 package。 [注意:由於本文檔較舊,您可能看不到最新的 VS 示例,但它會指導您檢查庫的版本詳細信息]

我能夠完成這項工作。 我從一個 .bat 文件運行應用程序,該文件做得很少,但其中一件事是干預 PATH。 我對此進行了評論,但仍然無法正常工作,因此我直接從 .exe 文件運行該應用程序,並且將所需的 vc redist dll(其中 4 個)放在同一個文件夾中就可以了。 事實證明,盡管在我需要的條件下運行應用程序(帶有預熱實例的高級計划)比使用 Azure Batch 更昂貴,而且很可能比擁有專用 VM 更昂貴,這兩者都讓我更容易擁有我的必需品預裝。

暫無
暫無

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

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