Windows CE CAB Wizard - budowa pliku *.inf
Aby złożyć plik instalacyjny CAB, można posłużyć się płatnym oprogramowaniem w stylu WinCE CAB Manager, można jednak posłużyć się darmowym narzędziem od samego Microsoftu: Windows CE CAB Wizard, które można znaleźć w postaci załącznika tutaj.
CAB Wizard jest narzędziem, który na podstawie dostarczonego pliku *.inf tworzy plik instalacyjny. W skład pakietu wchodzi również małe narzędzie o nazwie Cabinet Maker, które również przydaje się w pewnych sytuacjach (np. gdy chcemy utworzyć plik CAB z naszymi ustawieniami poczty itp.).
Jak widać, oprócz źródłowego pliku *.inf, możemy również podać pliki w formacie ProvXML, które mogą być wykonane zarówno przed samą instalacją, jak i po jej zakończeniu.
Jak jest zbudowany plik *.inf? Jest to plik o typowej strukturze INI, czyli jest podzielony na sekcje, a w każdej z nich mamy pary zmienna=wartość. Zanim jednak omówimy poszczególne sekcje, przytoczmy makra przydatne przy definiowaniu ścieżek do plików. Używanie tych makr jest o tyle uzasadnione, że w różnych wersjach językowych, same fizyczne katalogi mogą się różnie nazywać - natomiast używając tych makr unikniemy problemów z tym związanych:
Makra ścieżek systemowych:
%CE1%
Program Files
%CE2%
Windows
%CE4%
Windows\StartUp
%CE5%
My Documents
%CE8%
Program Files\Games
%CE11%
Windows\Start Menu\Programs
%CE14%
Windows\Start Menu\Programs\Games
%CE15%
Windows\Fonts
%CE17%
Windows\Start Menu
Poniżej pokrótce przytoczę opisy poszczególnych sekcji i ich zawartości, wraz z krótkimi przykładami:
Sekcje pliku INF:
Version
Wydawca aplikacji i jej wersja
CEStrings
Definicje nazw aplikacji i katalogów
Strings
Definicje innych zmiennych tekstowych
CEDevice
Platforma docelowa
DefaultInstall
Domyślna instalacja aplikacji
CopyFiles
Pliki do skopiowania na urządzenie
AddReg
Klucze i wartości, które będą dodane do rejestru
CEShortcuts
Skróty, które zostaną utworzone
SourceDisksNames
Nazwy i ścieżki do katalogów z plikami źródłowymi
SourceDisksFiles
Nazwy i ścieżki do plików źródłowych
DestinationDirs
Nazwy i ścieżki katalogów docelowych
* Version
Signature = "$Chicago$"
Provider = "utak3r"
CESignature = "$Windows CE$"
* CEStrings
AppName="Mój super program"
InstallDir=%CE1%\%AppName%
* Strings
reg_path = Software\utak3r\MySuperApp
* CEDevice
VersionMin = 4.0
VersionMax = 5.99
BuildMax = -536870912
* DefaultInstall
CopyFiles = CopyToInstallDir,CopyToWindows
AddReg = RegSettings
CEShortcuts = Shortcuts
* CopyFiles
[DefaultInstall]
CopyFiles = CopyToInstallDir
[CopyToInstallDir]
"aplikacja_ok.exe",aplikacja.exe,,0x00000001
"helpik wielki.htm",helpik.htm,,0x80000000
Flagi opisujące zachowanie systemu przy kopiowaniu plików:
COPYFLG_WARN_IF_SKIP
0x00000001
Ostrzegaj usera, jeśli w wyniku błędu plik będzie pominięty
COPYFLG_NOSKIP
0x00000002
Nie pozwalaj na pominięcie pliku
COPYFLG_NO_OVERWRITE
0x00000010
Nie nadpisuj pliku w katalogu docelowym (np. plik konfiguracyjny z poprzedniej wersji programu)
COPYFLG_REPLACEONLY
0x00000400
Kopiuj plik tylko wtedy, gdy w katalogu docelowym istnieje już taki
CE_COPYFLG_NO_DATE_DIALOG
0x20000000
Nie kopiuj, jeśli plik w katalogu docelowym jest nowszy (np. biblioteki)
CE_COPYFLG_NODATECHEC'K'
0x40000000
Nie sprawdzaj dat przy nadpisywaniu plików
CE_COPYFLG_SHARED
0x80000000
Twórz referencję do pliku współdzielonego
Ad...
KATwawa