我開發了一個wpf應用程序在我的windows xp機器上,VS 2010的目標是.net framework 3.5 sp1並使用wpf工具包。我已經使用sqllite作爲應用程序的數據庫。當我在windows xp sp2或sp3上部署該應用程序時,它運行良好。但是當我在Windows 7家庭高級版x64或Windows 7 Ultimate x84上部署此應用程序時,當我點擊打開彈出窗口的按鈕時,應用程序崩潰。但是當我將兼容模式設置爲該應用程序的windows xp sp3時。該應用程序在Windows 7中運行良好。我很困惑這個問題。請讓我知道如果你發現問題和解決方案?應用程序在Windows XP中運行良好,但在Windows 7中運行時應用程序崩潰?
回答
最好的方法是如果您可以在Win7機器上安裝開發環境並在調試器中運行該程序。
如果這不是一個選項,您可以將一個事件處理程序添加到AppDomain.UnhandledException
。在事件處理程序中添加一個簡單的調用messagebox,儘可能多地顯示異常,包括堆棧跟蹤。這應該會顯示導致程序崩潰的錯誤。
是否有一些與簽名文件和未簽名文件有關的事情 – 2012-03-07 12:50:38
即使無法附加調試器,仍然可以調試小型轉儲器。 – tenfour 2012-03-08 02:04:12
最有可能的是,您正在使用Windows 7中受限制的路徑。您是否在以下任一路徑中寫入數據或存儲數據庫?這些路徑需要管理員訪問才能寫入。
文件夾
C:\ Documents和Settings \ All用戶
C:\ Program Files文件
C:\ ProgramData註冊表配置單元
HKEY_CLASSES_ROOT
HKEY_LOCAL_MACHINE
意識到您的應用程序可能安裝在Program Files中,因此安裝在同一文件夾中的任何設置文件或數據庫都將是隻讀的。
解決方案是將動態文件重定位到%AppData%
或%LocalAppData%
之類的位置,或者修改所需文件或文件夾的權限以允許所有用戶讀/寫訪問。
我想我已經找到了解決方案。當我試圖將應用程序安裝到程序文件以外的任何其他位置時,它的工作正常。可能是問題是我已將sqllite db文件放入安裝文件夾,該文件夾默認爲c:\ program files,在win 7中寫入權限被拒絕。所以當我試圖插入任何記錄到數據庫中時,它顯示一個錯誤。
http://technet.microsoft.com/en-us/library/cc709691%28v=ws.10%29.aspx瞭解UAC,然後您將看到如何正確使用它。 – 2012-03-12 07:18:44
- 1. C#應用程序在Windows 7中運行,但不在Windows XP中運行
- 2. 應用程序在調試中運行良好但運行中
- 3. 在Windows 7中編譯的ADO應用程序在Windows 7中運行不能在Windows XP中運行msado15.dll
- 4. 應用程序在棒棒糖中運行良好,但在KitKat中崩潰
- 5. iPhone相機應用程序在iPhone中運行良好,但在iPod中崩潰
- 6. 運行良好的代碼在viewDidLoad()中使用時崩潰應用程序
- 7. 爲什麼PyQt應用程序在VISTA中實現並運行良好,無法在Windows XP中運行?
- 8. 應用程序在模擬器上運行良好,但在設備上崩潰
- 9. 在Windows 7或XP中運行Windows 8商店應用程序(Metro)嗎?
- 10. 在Windows Phone中運行應用程序
- 11. 應用程序在iOS模擬器中運行良好,在設備上崩潰
- 12. 應用程序運行良好,從Xcode,但從主屏幕加載時崩潰
- 13. iOS應用程序在Xcode模擬器中運行良好,但在設備上運行緩慢並且崩潰
- 14. 應用程序在模擬器上運行良好,但在手機上運行時崩潰
- 15. 在Windows 7上崩潰但在XP上運行
- 16. C#.net Windows應用程序安裝程序沒有運行在Windows 7中
- 17. 問題在Windows7的Java編程(在Windows XP中運行良好)
- 18. Metro應用程序可以在Windows XP或Windows 7上運行嗎?
- 19. 爲Windows XP編譯的應用程序不能在Windows 7上運行
- 20. 在yesod應用程序運行時崩潰記錄卡崩潰
- 21. 在Windows Embedded Compact 7上運行windows mobile 6.5應用程序
- 22. Windows Phone 7應用程序在Windows Phone 8上運行嗎?
- 23. 如何在Windows 7上運行Windows 8使vb應用程序?
- 24. 在Windows上運行GTK#應用程序
- 25. 應用程序第一次運行良好,但第二次崩潰
- 26. 應用程序崩潰從ipa文件,但從Xcode運行良好?
- 27. Windows Phone 8.1運行時應用程序
- 28. 無法在Windows 7中運行cocos2dx win32示例應用程序
- 29. 在Windows 7中以32位運行應用程序
- 30. 在Windows 7中運行應用程序的證書問題
附加一個調試器。 – 2012-03-07 07:17:37
您是否使用任何本地電話? (例如DLL或p/invoke或「不安全」)。如果是這樣,創建可以在x86 *上工作的東西相對容易,但是不能* x64或反之亦然。 (也就是說,我認爲它不是與*版本*有關,而是*位*。兼容性不會影響* bitness *。請嘗試在Windows 7 * x86 *中進行驗證。) – 2012-03-07 07:19:36