Windows CE/Pocket PC安裝盤的製作 (轉)
CE/Pocket PC盤的製作
by blackcolor 2002.02.21
工作環境為: EMBDVTOOLS 3.0、Microsoft ActiveSync 3.1、SE、Microsoft Visual C++ 6.0,
PDA是聯想天璣3000(Windows CE 3.0版本、是ASA1110)
Windows CE/Pocket PC安裝盤的製作可分為以下幾個步驟,在詳細說明之前,假設在C:已經建立一個目錄sample,
裡面有已經編譯好的EXEsample.exe(放在sample的子目錄下)和一個ico檔案sample.ico。
一、準備一個inf檔案(Sample.inf),放在c:sample下,其格式如下:
; PDA安裝檔案:Sample.inf
;
[Version]
Signature = "$$"
Provr = "你的公司名稱"
CESignature = "$Windows CE$"
[CEStrings]
AppName = "你的應用名稱"
InstallDir = %CE1%%AppName%
[CEDevice]
ProcessorType = 2577 ; CPU型別為ARM SA11xx
[SourceDisksNames]
1 = ,"Common files",,source ; 原始檔在在C:Samplesource下
[SourceDiskiles]
sample.exe = 1 ; 已經編譯好的EXE檔案
[DefaultInstall]
CopyFiles = Files.InstallDir
AddReg = RegData
CEShortcuts = Links
[DestinationDirs]
Files.InstallDir = ,%InstallDir%
Links = ,%CE11%
DefaultDestDir = ,%InstallDir%
[Files.InstallDir]
"porder.exe",porder.exe ; 將複製的檔案
[RegData]
HKLM,SoftwareMicrosoft%AppName%,MajorVersion,0x00010001,1
HKLM,SoftwareMicrosoft%AppName%,MinorVersion,0x00010001,0
[Links]
"快捷方式名稱",0,sample.exe,%CE17% ; 在開始選單建立快捷方式
二、用CabWiz.exe製作一個CAB包,CabWiz.exe檔案在目錄
%evtoolsdir%Windows CE Toolswce300MS Pocket PCsupportActiveSyncwindows ce application installationcabwiz
下,其中%evtoolsdir%是Microsoft EMBDVTOOLS 3.0的安裝目錄,在該目錄的上級目錄中有一檔案buildcab.bat,
把buildcab.bat複製到c:sample,修改為:
@echo off
REM
REM Sample batch file used to compile the CabWiz INF file
REM
REM
REM Replace
REM Replace
REM
REM 請在檔案"sample.inf"上面加上一對""號
REM 下面的命令應該是一行
"%evtoolsdir%Windows CE Toolswce300MS Pocket PCsupport
ActiveSyncwindows ce application installationcabwizCabWiz.exe" "sample.inf" /err err.log
修改完畢之後,就可以buildcab.bat檔案,該檔案將生成sample.cab。
三、製作一個ini檔案install.ini,放在c:sample下,如下:
[CEAppManager]
Version = 1.0
Component = Sample
[POrder]
Description = 說明文字
IconFile = Sample.ico
IconIndex = 0
DeviceFile = Sample.exe
CabFiles = Sample.CAB
四、把PDA連上Windows 98SE,進入MS DOS方式,進入Microsoft ActiveSync 3.1的安裝目錄
C:Program FilesMicrosoft ActiveSync,執行如下命令:
C:Program FilesMicrosoft ActiveSync>ceappmgr c:sampleinstall.ini
將啟動安裝程式,把Sample.exe安裝到PDA上。如果覺得每次這樣安裝麻煩,請參照步驟五。
五、使用VC6建立一個簡單的安裝載入程式
1.開啟vc6新建一個工程,在Projects標籤選擇 Application,“Project Name”
輸入install。
2.第二步選擇“An empty project”,按Finish按鈕。
3.新建一個檔案install.cpp,並加入工程,內容如下:
// --------------------------------------------------
// PDA 安裝程式(Pocket PC)
// --------------------------------------------------
#include
#include
#include
#include
#include
#include <.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// 取自身的路徑
char szPath[MAX_PATH];
GetModuleFileName(NULL, szPath, MAX_PATH-1);
// 轉換成ini檔名
int iLen = strlen(szPath);
strcpy(&szPath[iLen-3], "ini");
// 取CEAppMgr.exe的全路徑
HKEY hResult;
char szCEAppMgr[]="softwareMicrosoftWindowsCurrentVersionApp PathsCEAppMgr.exe";
LONG iRet=RegOpenKeyEx(HKEY_LOCAL_MACHINE, szCEAppMgr, NULL, KEY_READ, &hResult);
BYTE szCEAppMgrExe[MAX_PATH*2+1];
if(iRet==ERROR_SUCCESS)
{
D cbName, dwType;
cbName = MAX_PATH;
dwType = REG_SZ;
iRet = RegQueryValueEx(hResult, NULL, NULL, &dwType, szCEAppMgrExe, &cbName);
RegCloseKey(hResult);
}
if (iRet!=ERROR_SUCCESS)
{
MessageBox(NULL, "請先安裝Microsoft ActiveSync!", "錯誤", MB_ICONERROR);
return 1;
}
char szExe[MAX_PATH*2+2];
strcpy(szExe, (char *)szCEAppMgrExe);
// 開始安裝
SHELLEXECUTEINFO ExecInfo ;
memset((char *)&ExecInfo, 0, sizeof(ExecInfo));
ExecInfo.cbSize = sizeof(ExecInfo);
ExecInfo.fMask = SEE_MASK_CLASSKEY;
ExecInfo.hwnd = NULL;
ExecInfo.lpFile = szExe;
ExecInfo.lpParameters = szPath;
ExecInfo.nShow = SW_SHOW;
ShellExecuteEx(&ExecInfo);
return 0;
}
4.將編譯後的EXE檔案install.exe,複製到c:sample目錄,執行install.exe
將自動安裝上面的軟體。
六、說明
1.更詳細的資料請參考Microsoft EMBDVTOOLS 3.0的聯機幫助,
Microsoft EMBDVTOOLS 3.0可以由網站免費獲得。
2.我手裡只有一個PDA,對其他型號的PDA我沒有進行測試。
3.本文版權歸原作者所有,其它網站轉載請註明出處並保持本文的完整性,
傳統轉載須事先與原作者聯絡,與建議請一併發至to:blackcolor@263">blackcolor@263.net。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992075/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 系統安裝引導盤的製作(轉)
- RedHat DVD安裝盤製作Redhat
- U盤如何製作win10安裝盤|win10安裝U盤製作方法Win10
- win10怎麼製作安裝u盤_win10安裝U盤製作教程Win10
- windows系統盤製作,系統裝機Windows
- Mac OS製作Ubuntu安裝U盤MacUbuntu
- Mac 製作 win10 安裝盤MacWin10
- Linux下製作簡單的仿Windows安裝介面(轉)LinuxWindows
- windows10建立U盤安裝介質流程_win10 U盤安裝介質如何製作WindowsWin10
- 怎樣製作win10的iOS映象安裝U盤_製作win10 iso映象安裝U盤教程Win10iOS
- 製作多系統安裝盤(轉)
- Windows 98 不同用途啟動盤製作(轉)Windows
- 怎樣用UltraISO製作U盤系統安裝盤AI
- 製作U盤啟動盤_用來安裝系統
- 如何製作windows啟動盤 u盤製作win10啟動盤WindowsWin10
- oracle linux使用安裝盤製作本地yumOracleLinux
- 教你認識 Windows 98 安裝盤(轉)Windows
- 如何製作uefi win10安裝盤啟動U盤Win10
- Windows 8安裝隨身碟的製作辦法Windows
- XML and Windows CE 3.0 (轉)XMLWindows
- 隨身碟如何製作win10安裝盤|win10安裝隨身碟製作方法Win10
- windows10系統盤製作Windows
- 自己編寫安裝製作程式 (轉)
- win8.1系統u盤啟動盤製作工具製作安裝教程
- 製作OSX10.9Mavericks安裝U盤
- 打造一張萬能Windows安裝盤(轉)Windows
- 製作軟盤Linux(轉)Linux
- linux啟動盤的製作(轉)Linux
- 製作Linux的優盤(usb)啟動盤(轉)Linux
- Linux啟動盤boot/root盤的製作(轉)Linuxboot
- Pocket pc 與 Smartphone 開發的區別
- win10系統製作mac10.11安裝u盤的方法_win10如何製作mac os x 10.11安裝u盤Win10Mac
- 如何製作win10啟動u盤安裝系統Win10
- macOS Big Sur系統製作安裝啟動盤教程Mac
- Linux 安裝 Docker CELinuxDocker
- Windows CE記憶體管理 (轉)Windows記憶體
- 升級安裝包的製作
- 快速安裝Windows作業系統獨家秘籍(轉)Windows作業系統