УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS

       

Разное


  • Cоздание папки.

  • Если надо просто создать пустую папку, без копирования файлов: 

    "rundll32.exe IEAKENG.dll, BToolbar_SaveA d:\Folder"

    Пример:

    [version]

    Signature = "$CHICAGO$"

    AdvancedINF=2.5

    [DefaultInstall]

    RunPreSetupCommands=RunPre

    [RunPre]

    ;создаем папку backup на диске d:.

    ;После создания папки экспортируем в нее REG-файл.

    "rundll32.exe IEAKENG.dll, BToolbar_SaveA d:\backup"

    "reg export HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAppKey d:\backupAppKeyBackup.reg"

    Отмечу интересный момент. Если писать "rundll32.exe IEAKENG.dll, BToolbar_SaveA d:Folder" без слэша, и папка Folder существует, то она удаляется! (по крайней мере в Cmd). 



  • Полезные утилиты при работе с INF- и CAB-файлами. Ссылка 
  • Несколько команд интерпретатора advpack, не включенных в Руководство по INF- файлам. Ссылка 
  • Флаги ProfileItems (опять Gosh).
  • Есть в руководстве по INF-файлам, но по этому списку более понятна логика складывания флагов:

    0x00000001  Создать пункт меню для текущего пользователя

    0x00000002  Удалить пункт меню

    0x00000004  Создать пункт меню для профиля All Users в папке Пуск\Все программы

    0x00000005  Создать пункт меню для профиля Current User в папке Пуск\Все программы

    0x00000006  Удалить пункт меню для профиля All Users в папке Пуск\Все программы

    0x00000007  Удалить пункт меню для профиля Current User в папке Пуск\Все программы

  • Копирование файлов из секции CopyFiles
  • Оказывается, раздел CopyFiles может копировать файл непосредственно в секции [DefaultInstall]! Для этого перед файлом нужно поставить символ @. Следующий пример копирует два файла:

     CopyFiles=@myfile.txt, @anotherfile.txt 

  • Отображение и запуск файлов.
  • В процессе установки можно прервать выполнение INF файла для показа пользователю какого-нибудь документа, после закрытия которого установка продолжиться, или запустить определенный процесс. Следующий пример отображает файл справки About.hlp, текстовый файл About.txt и запускает другой INF-файл - Example.inf.


    [Version]

    Signature=$Chicago$

    [DefaultInstall]

    AddReg=ExampleView

    ;Отображение файла справки About.hlp

    [ExampleView]

    HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"WINHLP32.EXE - Main %1%\About.hlp"

    ;Отображение текстового файла About.txt

    HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"notepad %1%\About.txt"

    ;Запуск файла сценария Example.inf

    HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"rundll setupx.dll,InstallHinfSection DefaultInstall 132 %1%\Example.inf"

    ; Определяете название, которое будет отображатся в

    ;окне "Установка Windows..."

    [Strings]

    ABOUT="О программе ..."

    После того, как определенные в секции [ExampleView] команды выполнятся, записи, добавленные в реестр, будут автоматически удалены из него. Таким способом можно запускать и другие процессы, например, аплеты Панели управления:

    Код:

    ;Запуск апплета Панели управления - Свойства: Система (SYSDM.CPL)

    HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"rundll32 shell32,Control_RunDLL SYSDM.CPL" 


    Содержание раздела