我們有應用程序,它用於將固件下載到外部設備。我們曾經發布我們的SW作爲一個zip文件。一些用戶直接從zip文件運行應用程序。所以應用程序解壓縮到windows TEMP文件夾並運行。那時Windows防火牆或反病毒軟件阻止我們的應用程序訪問系統資源。在這種情況下,應用程序會崩潰連接的設備。阻止應用程序從Windows臨時文件夾運行
如何防止應用程序從Windows TEMP foder運行?
我們有應用程序,它用於將固件下載到外部設備。我們曾經發布我們的SW作爲一個zip文件。一些用戶直接從zip文件運行應用程序。所以應用程序解壓縮到windows TEMP文件夾並運行。那時Windows防火牆或反病毒軟件阻止我們的應用程序訪問系統資源。在這種情況下,應用程序會崩潰連接的設備。阻止應用程序從Windows臨時文件夾運行
如何防止應用程序從Windows TEMP foder運行?
爲什麼不檢查當前目錄以查看它是否是臨時文件夾?在僞代碼:
if (GetCurrentDir() == GetTempDir())
abort("You cannot run our application from the temp folder.");
創建一個安裝程序,只有當你在註冊表中發現,僅由安裝創建的條目運行。
正如我所見,有2個解決方案 1您可以按上述說明捆綁安裝程序,以便人們在使用之前將其安裝,使其被防火牆或防病毒視爲合法應用程序。
或
GetCurrentDirectory API不給完整的文件路徑,如果我們運行從TEMP文件夾(出應用程序:C:\的Documents and Settings \用戶名,但應用程序路徑是C:\的Documents and Settings \用戶名\本地設置的\ Temp )。所以我用GetModuleFileName得到完整路徑 – santhosh 2009-02-20 05:16:21