你在程序里是不是用了DAO控件?
我有編過,也碰到這個問題.我是這樣分析和解決的:
分析:
1.在.NET中,所有引用到的組件都是直接放在應用程序目錄中,如果我們沒有打包進去,而直接安裝運行,就會打不到DAO組件.程序就無法運行.2.其實這個程序在有的電腦上能運行,在有的電腦上就進行不了.一般這個能運行這個程序的電腦就是編寫這個程序的電腦.3.用.NET編的程序,如果用到了數據的訪問.就得要求目標電腦上裝有數據訪問組件(mdac_typ.exe)和.NET FRAME WORK SDK (dotnetfx.exe).如果沒有裝數據訪問組件就有會出現上面所示的問題.如果沒有 FRAMEWORK SDK,安裝向導會提示無法安裝,而要求安 FRAMEWORK SDK.
4.還有一種現象,我把安裝程序安裝到一臺電腦上去,第一次能運行.我UNINSTALL后,第二次就無法運行,運行后會出現上面所示的錯誤.我認為是把程序中所用到的組件,而這個組件又是系統中的組件,UNINSTALL后,就把這個組件從系統中UNINSTALL了.所以第二次就運行不了了.
解決辦法:
我把程序中用到DAO方法訪問數據的代碼全部換成方法.把引用項目下的DAO組件及相關全部刪掉.之后,我重新打包,安裝運行!這里所指的"安裝運行"是指在任何(裝有數據訪問組件(mdac_typ.exe)和.NET FRAME WORK SDK (dotnetfx.exe).)電腦上都可運行.UNISTALL后還是可以很順利的運行.好爽!