Windows Vista улучшает взаимодействие с пользователями в Windows, включая Games Explorer. Обозреватель игр предоставляется в меню «Пуск» Windows Vista в качестве папки «Игры» и предоставляет центральное расположение для доступа к играм.
Начиная с выпуска пакета SDK для DirectX за март 2009 г. для поддержки функций в Windows 7, поставщика игр и RSS-канала и IGameExplorer2 используется новая схема определения игр. IGameExplorer2 — это новый интерфейс на Windows 7, который упрощает процесс интеграции игры с Game Explorer.
В этой статье описывается процесс регистрации игры в Game Explorer и родительском контроле в Windows Vista и Windows 7 с помощью новой схемы GDF.
- Предварительные требования
- Интеграция с установщиком
- Процесс интеграции
- Задачи обозревателя игр
- Интеграция с InstallScript
- Интеграция с пакетом MSI
- Отладка Советы
- Тестирование с помощью примера кода
- Убедитесь, что ваша игра была удалена должным образом
- Не забудьте подписать с помощью Authenticode
- Убедитесь, что родительский контроль доступен
- Убедитесь, что задачи имеют правильный тип
- Проверка данных в двоичном файле GDF
Предварительные требования
Прежде чем интегрировать игру в Game Explorer, необходимо создать файл определения игры (GDF). GDF — это XML-файл, содержащий метаданные, описывающие игру. В выпуске пакета SDK для DirectX за март 2009 г. в схему GDF добавлен раздел поставщика игр, RSS-канала и задачи игры. Чтобы использовать инструкции в этой статье, необходимо использовать этот новый формат GDF для создания файла GDF.
НЕОБЫЧНЫЕ СКИНЫ в МАЙНКРАФТ! Зацени, что Годный лайфхак нашел 😊
Корпорация Майкрософт предоставляет средство для разработки GDF в пакете SDK DirectX, редакторе файла определения игры, чтобы упростить процесс создания. Это средство также помогает создавать локализованные версии GDF.
После создания и локализации GDF его необходимо инкапсулировать в разделе ресурса двоичного файла (исполняемого файла или библиотеки DLL) вместе с эскизом и значком игры. GDF содержит все метаданные, связанные с игрой, включая рейтинг игры. Windows Родительский контроль использует рейтинг игры, чтобы позволить родителям контролировать доступ к игре. Двоичный файл, содержащий GDF, должен иметь цифровую подпись с действительным сертификатом Authenticode; в противном случае Game Explorer и система родительского контроля игнорируют рейтинг игры, так как сведения о рейтинге не могут быть доверенными без сертификации. Дополнительные сведения о подписи кода с помощью Authenticode см. в разделе Authenticode Signing for Game Developers.
Интеграция с установщиком
Чтобы упростить интеграцию с Games Explorer, пример GameUXInstallHelper предоставляет общий API, который можно вызывать в Windows XP, Windows Vista и Windows 7. Он предназначен для работы со сценариями для системы установки InstallShield и Wise Installation System, а также пользовательских действий MSI и пользовательских средств установки. Обнаружение операционной системы обрабатывается в этом примере библиотеки DLL, поэтому вызывающий объект не должен беспокоиться о том, работает ли клиент Windows XP, Windows Vista или Windows 7.
Как перевести любую игру на русский язык! РУСИФИКАТОР ДЛЯ CRAFTOPIA (xunity)
Функции, экспортированные этой библиотекой DLL, приведены ниже.
GameExplorerInstallW
Регистрирует игру в Обозревателе игр, указав путь к двоичному файлу GDF, полный путь к папке, в которой установлена игра, и области установки.
GameExplorerInstallA
Регистрирует игру в Обозревателе игр; Версия ANSI GameExplorerInstallW.
GameExplorerUninstallW
Удаляет игру из регистрации в Game Explorer, указав путь к двоичному файлу GDF.
GameExplorerUninstallA
Удаляет игру из регистрации с помощью Game Explorer; Версия ANSI GameExplorerUninstallW.
GameExplorerSetMSIProperties
Настраивает свойства CustomActionData для действий отложенной пользовательской установки MSI. Использование этой функции подробно описано далее в этой статье.
GameExplorerInstallUsingMSI
Добавляет игру в Game Explorer; для использования во время установки настраиваемого действия MSI.
GameExplorerUninstallUsingMSI
Удаление игры из Game Explorer; для использования во время установки настраиваемого действия MSI.
Эти функции подробно описаны в заголовке GameUXInstallHelper.h.
Процесс интеграции
После добавления GDF и связанных файлов в двоичный ресурс можно интегрировать игру с Game Explorer. Использование GameUXInstallHelper упрощает процесс интеграции. Чтобы зарегистрировать игру в Game Explorer, вызовите GameExplorerInstall с путем к двоичному файлу GDF, полный путь к папке, в которой установлена игра, и области установки. Чтобы удалить регистрацию игры, вызовите GameExplorerUninstall с путем к двоичному файлу GDF.
Обратите внимание, что процесс удаления удаляет только одну уникальную установку. Если игра была установлена несколько раз, этот процесс должен повторяться для каждой уникальной установки.
Задачи обозревателя игр
Задачи Обозревателя игр будут отображаться в контекстном меню элемента в Обозревателе игр. Задачи делятся на задачи воспроизведения и задачи поддержки. Воспроизведение задач запускает игру в определенном режиме, а задачи поддержки служат любой другой цели, включая связывание с веб-сайтами.
В Windows Vista задачи — это просто ярлыки, расположенные в определенных папках. Задачи воспроизведения и задачи поддержки хранятся в папках с соответствующими именами PlayTasks и SupportTasks. GameUXInstallHelper может считывать сведения о задаче игры из двоичного файла GDF и автоматически создавать все ярлыки.
В Windows 7 сочетания клавиш для задач не требуются, так как Обозреватель игр получает все сведения о задаче непосредственно из двоичного файла GDF.
Интеграция с InstallScript
Вызов API Обозревателя игр из InstallShield в InstallScript упрощается с помощью примера GameUXInstallHelper. Ниже приведены действия, необходимые для интеграции с InstallShield.
- Откройте проект InstallScript в редакторе InstallShield.
- Добавьте GameUXInstallHelper.dll в проект, который будет установлен в целевой каталог. Чтобы добавить GameUXInstallHelper.dll в проект InstallScript, выполните следующие действия.
- На вкладке конструктора установки щелкните «Данные приложения » в области навигации слева.
- Щелкните «Файлы и папки» и перейдите в папки исходного компьютера , чтобы найти GameUXInstallerHelper.dll в файлах исходного компьютера. По умолчанию для GameUXInstallerHelper.dll используется корневой каталог SDK DirectXSamplesC++MiscBinx86.
- В разделе папок конечного компьютера щелкните » Целевая папка приложения».
- Перетащите GameUXInstallerHelper.dll из файлов исходного компьютера в файлы конечного компьютера.
typedef GUID begin LONG Data1; SHORT Data2; SHORT Data3; CHAR Data4(8); end; prototype LONG GameUXInstallHelper.GameExplorerInstallW(WSTRING, WSTRING, NUMBER); prototype LONG GameUXInstallHelper.GameExplorerUninstallW(WSTRING); function OnMoved() WSTRING gdfbin[256]; WSTRING path[256]; NUMBER scope; begin if !MAINTENANCE then UseDLL( TARGETDIR ^ «GameUXInstallHelper.dll» ); UseDLL( WINSYSDIR ^ «OLE32.dll» ); path = TARGETDIR; gdfbin = TARGETDIR ^ «bin\ExampleGame.exe»; // TODO: Change this to point to binary containing the GDF if ALLUSERS == 1 then scope = 3; else scope = 2; endif; GameUXInstallHelper.GameExplorerInstallW( gdfbin, path, scope); UnUseDLL( TARGETDIR ^ «GameUXInstallHelper.dll» ); UnUseDLL( WINSYSDIR ^ «OLE32.dll» ); endif; end; function OnMoving() WSTRING gdfbin[256]; begin if MAINTENANCE UNINST != «» then UseDLL( TARGETDIR ^ «GameUXInstallHelper.dll» ); UseDLL( WINSYSDIR ^ «OLE32.dll» ); gdfbin = path ^ «bin\ExampleGame.exe»; // TODO: Change this to point to binary containing the GDF GameUXInstallHelper.GameExplorerUninstallW(gdfbin); UnUseDLL( TARGETDIR ^ «GameUXInstallHelper.dll» ); UnUseDLL( WINSYSDIR ^ «OLE32.dll» ); endif; end;
Интеграция с пакетом MSI
Ниже приведено высокоуровневое описание шагов, необходимых для вызова API-интерфейсов Обозревателя игр с помощью пользовательских действий MSI:
- Добавьте свойство в таблицу свойств MSI с именем RelativePathToGDF, содержащую относительный путь к двоичному файлу GDF.
- После действия CostFinalize вызовите функцию DLL GameUXInstallHelper SetMSIGameExplorerProperties в немедленном настраиваемом действии, чтобы задать соответствующие свойства MSI для других настраиваемых действий.
- После установки активирует отложенное настраиваемое действие после действия InstallFiles, которое вызывает функцию DLL GameUXInstallHelper AddToGameExplorerUsingMSI. Если установка выполняется для всех пользователей, настраиваемое действие должно задать флаг msidbCustomActionTypeNoImpersonate; в противном случае он не должен устанавливать этот флаг. Поэтому определены два практически идентичных пользовательских действия: GameUXAddAsAdmin и GameUXAddAsCurUser.
- После удаления установки активирует отложенное настраиваемое действие перед действием RemoveFiles, которое вызывает функцию DLL GameUXInstallHelper RemoveFromGameExplorerUsingMSI. Если установка была для всех пользователей, настраиваемое действие должно задать флаг msidbCustomActionTypeNoImpersonate; в противном случае он не должен устанавливать этот флаг. Поэтому определены два практически идентичных пользовательских действия: GameUXRemoveAsAdmin и GameUXRemoveAsCurUser.
- Определите пользовательские действия отката для обработки ситуации, когда пользователь отменяет установку или удаление после того, как одно из этих пользовательских действий уже произошло. Это приводит к дополнительным 4 настраиваемым действиям: GameUXRollBackAddAsAdmin, GameUXRollBackAddAsCurUser, GameUXRollBackRemoveAsAdmin и GameUXRollBackRemoveAsCurUser.
Эта процедура подробно описана в следующих инструкциях, описывающих процесс, который можно выполнить с помощью редактора MSI, например редактора Orca, найденного в пакете SDK для платформы. Некоторые редакторы MSI имеют мастеры, которые упрощают некоторые из этих шагов настройки.
Настройка пакета MSI для интеграции с Games Explorer
- Откройте пакет MSI в Orca.
- Добавьте строку, показанную в следующей таблице, в двоичную таблицу в пакете MSI.
ИмяДанные GAMEUX Путь к DLLGameUXInstallHelper.dll
Примечание Этот файл будет внедрен в пакет MSI, поэтому этот шаг необходимо выполнять каждый раз при повторной компиляции GameUXInstallHelper.dll.
Примечание Расположение, указанное путем, относительно расположения, указанного путем установки. Например, binGDF.dll.
Дополнительные сведения о пакетах MSI и установщике Windows см. в разделе Windows Installer.
Отладка Советы
Ниже приведены некоторые советы по отладке проблем при вызове API-интерфейсов Обозревателя игр.
Тестирование с помощью примера кода
Создание примера решения GameUXInstallHelper создаст GameUXInstallHelper.dll и GDFInstall.exe. GDFInstall.exe — это пример приложения, использующего GameUXInstallHelper.dll. При выполнении GDFInstall.exe появится запрос на установку или удаление двоичного файла GDF из обозревателя игр. Двоичный файл GDF можно протестировать, передав его в качестве первого аргумента командной строки в GDFInstall.exe.
Если у вас нет двоичного файла GDF или не удается установить его, попробуйте использовать пример GDF в пакете SDK DirectX. Пример GDFExampleBinary находится в пакете SDK DirectX и представляет собой только библиотеку DLL, содержащую только GDF-файл. Кроме того, в качестве источника входит проект GDFMaker. Его можно создать и протестировать с помощью GDFInstall.exe. Вы также можете сравнить XML-код с вашими, чтобы определить, где именно возникла проблема.
Убедитесь, что ваша игра была удалена должным образом
Если игра уже установлена в Game Explorer, последующие вызовы IGameExplorer::AddGame возвращают E_FAIL поэтому убедитесь, что игра не установлена перед тестированием. Это также применимо, если вы устанавливаете GDF только для текущего пользователя, а затем пытаетесь установить GDF для всех пользователей. Сначала необходимо удалить игру из текущих пользователей, прежде чем IGameExplorer::AddGame будет успешно выполнена.
Если запустить перечислениеGDFInstall.exe, пример приложения перейдет в другой режим, в котором будут перечисляться все установленные игры Explorer, и вам будет предложено удалить их. Вы также можете просматривать и искать реестр в HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionGameUX, чтобы убедиться, что ваша игра не установлена для другого пользователя в системе. Однако не изменяйте эти параметры реестра для других целей, так как они не гарантируют совместимость в будущих версиях операционной системы.
Не забудьте подписаться с помощью Authenticode
Если вы предоставили оценку, но не видите ее в Проводнике игр, убедитесь, что вы использовали Authenticode для подписи исполняемого файла или DLL-файла, содержащего оценку. Обозреватель игр игнорирует сведения о оценках в неподписанных файлах. Дополнительные сведения о Authenticode см. в разделе «Подписывание Authenticode для разработчиков игр».
Убедитесь, что родительский контроль доступен
Убедитесь, что вы тестируете родительский контроль на выпуске Windows Vista, который предоставляет родительский контроль: Home Basic, Home Premium или Ultimate. Windows Vista Business и Windows Vista Enterprise не предоставляют родительский контроль, однако при тестировании на Windows Vista Ultimate и тестовом компьютере, присоединенном к домену, необходимо изменить параметр групповой политики, чтобы родительский контроль был видимым. Для этого см. начало работы с помощью Games Explorer.
Убедитесь, что задачи имеют правильный тип
Если вы указали задачи поддержки, которые не отображаются в Games Explorer, убедитесь, что они являются веб-ссылками. Все другие задачи ярлыка должны быть созданы в качестве задач воспроизведения. Задачи рассматриваются ранее в этой статье в разделе «Задачи Обозревателя игр».
Проверка данных в двоичном файле GDF
GDFTrace.exe — это средство, доступное в пакете SDK directX. Вы можете запустить GDFTrace.exe в двоичном файле GDF и вывести все метаданные GDF, содержащиеся в двоичном файле, для каждого поддерживаемого языка для быстрой проверки. В нем также отображаются предупреждения об отсутствии или устаревшей информации.
Итоги
Game Explorer в Windows Vista предоставляет простой, настраиваемый способ представления игры пользователям Windows Vista, но также требует регистрации игры в системе во время установки. Пример GameUXInstallHelper значительно упрощает этот процесс для разработчиков.
Источник: learn.microsoft.com
Game Manager Download Free: многофункциональная замена для Windows Games Explorer
What’s an Alternative to Windows Explorer or Mac OS X Finder?
Список бесплатных программ для Notepad для Windows PC. Эти многофункциональные альтернативы или замены Notepad — это программы, такие как «Блокнот», но лучше, чем «Блокнот».
Free Launch Bar: улучшенная замена быстрого запуска для Windows 8
Free Launch Bar — превосходная замена стандартного запуска Windows Quick Launch Бар с дополнительными возможностями и функциями. Загрузите бесплатно для Windows 8.
Погружной Explorer: замена проводника Metro для Windows 8
Immersive Explorer — это Metro-styled Explorer, альтернативный, который использует интерфейс Metro, как и многие Windows 8 приложений и может использоваться как альтернатива Windows 7 или 8 Explorer по умолчанию.
Источник: ru.joecomp.com