Windows-7
未以本地管理員身份執行時,程序文件(x86)在 Win7x64 上未正確解釋
問候,
我正在遷移到 x64 環境(Windows XP SP3 到 Windows 7 X64)的 32 位軟體程序遇到一個特殊問題。該應用程序的問題是電子登記/直到我們的端點銷售辦事處。
該應用程序位於:
"C:\Program Files(x86)\Q_Kassa"
我們已經為將軟體作為外殼執行的使用者配置了所有相關訪問權限,包括應用程序所需文件夾的所有相關讀/寫權限。但是,只要我們不“以管理員身份執行”或者只要載入程序的使用者不是本地管理員組的成員,應用程序就不會載入並拋出找不到文件的錯誤位於:
C:\Program Files\Q_Kassa\FileName
問題是,所有相關的配置數據、配置文件和註冊資訊都會告訴應用程序它的數據在 Program Files (x86) 目錄中。出於某種原因,當應用程序使用“以管理員身份執行”選項執行時,或者在使用者位於本地管理員組中時執行時,Windows 似乎將它需要作為應用程序文件夾獲取的文件夾誤解了。
總而言之:
As local admin / Run-as-admin option used: the application is fed info from C:\Program Files(x86)\Q_KASSA\ --> as it should be. When run as a normal user the application tries to get it's info from C:\Program Files\Q_Kassa --> wrong folder
任何人都可以解釋為什麼應用程序顯然決定了使用哪個 Program Files 目錄的執行級別?
問候,
它可能只是一個遺留問題和
%PROGRAMFILES%
混淆。最簡單的解決方法是使用符號連結,如下所示:
mklink /j "C:\Program Files(x86)\Q_Kassa" "C:\Program Files\Q_Kassa\"
這樣,無論程序“認為”它真的在哪裡,它都會起作用。另外,請注意,如果它必須寫入此程序文件文件夾,則需要提升權限才能使其正常工作。Windows 確實會重定向到“VirtualRoot”文件夾,但充其量只是一團糟。