我對Inno Setup FileExists函數有困惑。使用網絡/共享資源的奇怪Inno安裝行爲
這裏的情況。我有三臺聯網的計算機,具有類似WORKGROUP名稱的計算機。 1)視窗7 32位 2)的Windows 7 64位 3)的Window XP服務包3
1)和3)已經設置爲具有讀寫股,購自服務器。 ShareExe和ShareData
有問題的Inno Setup會在ShareExe文件夾中創建可執行文件的快捷方式。它要求用戶輸入服務器的ComputerName,然後使用FileExists驗證正確的輸入。
在XP(3)機器上運行此安裝程序並指定1)的計算機名稱工作得很好,但是,在Win7 64位PC上運行安裝程序並指定與XP相同的ComputerName時,會導致FileExtsts測試失敗。
奇怪的是,我可以去網上鄰居並打開ShareExe文件夾併成功運行可執行文件。我的問題是,「爲什麼Inno FileExists僅在Win 7 64位機器上失敗?」在參考資料中找不到任何與FileExists有任何版本差異的內容。 (我也嘗試過使用相同的結果FileSearch)。
TIA
謝謝你這個深思熟慮的答案。由於這個應用程序是普遍可用的,用戶是非專業人士,我希望你的GetOpenFileName建議是一個很好的解決方案。不幸的是,瀏覽文件夾對話框不接受默認的文件夾參數(\\ {computername} \ ...),因此用戶必須找到共享的根文件夾並導航到可執行文件,我認爲這會阻擋大部分目標用戶。有沒有驗證服務器計算機名稱的方法? (提示用戶輸入)。 – 2012-08-17 16:32:37
您需要使用文件瀏覽器,而不是文件夾瀏覽器。關於具體路徑,我假定由於您只是提示計算機名稱,所以您已經知道至少一個有趣文件的共享名稱和路徑。如果情況並非如此,那麼還有其他一些方法來驗證計算機名稱,但是您應該選擇類似於您的應用程序將如何使用它的東西 - 例如。如果你的應用程序連接到它作爲數據庫服務器,然後做同樣的驗證它。如果你的應用程序打開一個特定的端口套接字,然後做同樣的事情。等等。 – Miral 2012-08-18 02:18:44