2009-02-14 46 views
1

我們有應用程序,它用於將固件下載到外部設備。我們曾經發布我們的SW作爲一個zip文件。一些用戶直接從zip文件運行應用程序。所以應用程序解壓縮到windows TEMP文件夾並運行。那時Windows防火牆或反病毒軟件阻止我們的應用程序訪問系統資源。在這種情況下,應用程序會崩潰連接的設備。阻止應用程序從Windows臨時文件夾運行

如何防止應用程序從Windows TEMP foder運行?

回答

1

爲什麼不檢查當前目錄以查看它是否是臨時文件夾?在僞代碼:

if (GetCurrentDir() == GetTempDir()) 
    abort("You cannot run our application from the temp folder."); 
+0

GetCurrentDirectory API不給完整的文件路徑,如果我們運行從TEMP文件夾(出應用程序:C:\的Documents and Settings \用戶名,但應用程序路徑是C:\的Documents and Settings \用戶名\本地設置的\ Temp )。所以我用GetModuleFileName得到完整路徑 – santhosh 2009-02-20 05:16:21

0

創建一個安裝程序,只有當你在註冊表中發現,僅由安裝創建的條目運行。

1

正如我所見,有2個解決方案 1您可以按上述說明捆綁安裝程序,以便人們在使用之前將其安裝,使其被防火牆或防病毒視爲合法應用程序。

  • 而不是捆綁在短短一個zip文件的應用程序,將其捆綁在一個自解壓壓縮文件和寫入默認解壓路徑的腳本,什麼文件來執行當被提取時。 我想你可以做到這一點,沒有任何代碼寫在winrar。默認情況下,解壓縮到指定的文件夾,如c:\ softwarename \,然後執行所需的文件。
  • 相關問題