2013-06-20 65 views
0

我最近繼承了一個大型的移動應用程序,而我正在尋求改進的其中一件事是安裝/更新過程。目前,公司的政策是,無論何時發佈新版本,我們都會發佈一個新的CAB文件,並將其手動複製到每個運行的PDA上。這還包括手動複製SQL Server Compact和Compact Framework 3.5的CAB文件。將Windows Mobile 6.5更新到Compact Framework 3.5的應用程序應該是.NET 1.0還是本機代碼?

我用一個小引導程序替代了這個應用程序,它將與我們的服務器一起檢查應用程序中的更新等內容,但也將檢查緊湊框架和SQL Server精簡版是否已安裝(如果沒有,將會得到來自服務器的CAB文件並安裝它們)。很多較新的Windows Mobile 6.5設備都安裝了Compact Framework 3.5,但不是全部。我想讓這個引導程序在幾乎任何設備上運行,所以考慮到這一點,在本機代碼(C++)或Compact Framework 1.0中執行此操作會更可靠嗎?有沒有一些設備根本不配備CF?

回答

1

對於Windows CE(Windows Embedded Compact現在),完全取決於設備製造商是否要包含CompactFramework。但是,對於Windows Mobile 6,CF 2.0 SP2預裝了操作系統(所以我相信6.5也應該有)。我相信你可能會爲它編寫.NET CF 2.0代碼,並且預計它會運行。

就本地代碼而言,需要牢記的一點是,如果您有不同的處理器體系結構,那麼您不能擁有相同的本機代碼,例如x86和ARM。但是,我認爲Windows Mobile 6僅支持ARM處理器,所以我不確定這也是一個問題。

我想你可以使用任何一個。

1

如果您想安全地使用,您應該編寫一個本機C(Win32 WIN_CE)應用程序來檢查更新。 Windows CE具有自動啓動功能,可針對不同處理器類型的不同目錄自動查找文件calle autorun.exe。例如:如果您有ARM設備,操作系統將查看%Volume%\ 2577 \ autorun.exe(另請參閱here)。如果設備具有SH3處理器,則該調用將爲%volume%\ 10005 \ AutoRun.exe。 僅當您計劃支持非ARM處理器類型的系統時才需要使用上述內容。

使用autorun.exe可讓您自動設置或更新設備。您可以爲不同的處理器共享相同的代碼。 AutoRun使您能夠編寫'引導程序'安裝和更新。

如果您遇到更多限制的設備和操作系統版本,您可能會限制支持的處理器類型(可能只支持StrongARM兼容設備)。可能你也可以隱含地假設至少.NET Compact Framework 1.1在設備上可用。

相關問題