Włączanie interfejsu Luna w programach które go nie obsługują
Użytkownicy Windows XP korzystający z nowego interfejsu na pewno zauważyli, że nie wszystkie programy w pełni go obsługują. Elementy w okienkach, takie jak przyciski, pola tekstowe, listy, pola wyboru itd. mają standardowy wygląd, jedynie pasek tytułowy ma nowy wygląd. Można temu zaradzić umieszczając obok pliku exe danego programu dodatkowy plik włączający nowy wygląd. Musi on mieć taką samą nazwę plus rozszerzenie
.manifest
, np.
vb6.exe.manifest
. Zawartość pliku powinna wyglądać mniej więcej tak:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Visual Basic 6"
type="win32"
/>
<description>Visual Basic 6</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Nazwa programu określona w pliku nie jest ważna, wszystkie pliki .manifest
mogą mieć tę samą treść. Pliki manifest można też wkompilować do programu za pomocą edytora zasobów zamiast umieszczać w katalogu aplikacji. Można się tu posłużyć programami takimi jak Resource Hacker czy eXe Scope. Plik manifestu powinien być wkompilowany w sekcji 1:24. Należy jednak uważać ażeby nazwa programu wpisana w pliku nie była zbyt długa bo program nie uruchomi się. Chociaż takie wkompilowanie pliku manifestu nie wpływa na kod wykonywalny programu, to należy się liczyć z możliwością naruszenia licencji danego programu.
Sposób z plikiem .manifest
czasami nie zdaje egzaminu, np. w przypadku okienka wiersza polecenia.