Windows games executable files

Windows Games Explorer for Game Developers

WindowsВ Vista improves the user experience of gaming on Windows by including Games Explorer. Games Explorer is exposed in the Windows Vista Start Menu as the Games folder and provides a central location for accessing games.

Starting with the March 2009 release of the DirectX SDK, a new game definition file (GDF) schema is used to support features in Windows 7, Game Provider and RSS feed, and IGameExplorer2. IGameExplorer2 is a new interface on Windows 7 that simplifies the process of integrating a game with Games Explorer.

This article outlines the process of registering a game with Games Explorer and parental controls on Windows Vista and Windows 7 by using the new GDF schema.

Prerequisites

Before you can integrate a game into Games Explorer, you must create a game definition file (GDF). A GDF is an XML file that contains metadata that describes the game. In the March 2009 release of the DirectX SDK, a section for game provider, RSS feed, and game task has been added to the GDF schema. To use the instructions in this article, you must use this new GDF format to create your GDF file.

Microsoft provides a tool for authoring GDFs in the DirectX SDK, Game Definition File Editor, to make this creation process easier. This tool also helps you create localized versions of a GDF.

Once a GDF has been authored and localized, it must be encapsulated within a resource section of a binary file (either an executable or DLL), along with the game’s thumbnail and icon. The GDF contains all of the metadata associated with the game, including the game’s rating. Windows Parental Controls use the game’s rating to allow parents to control access to the game. The binary file which contains the GDF must be digitally signed with a valid Authenticode certificate; otherwise, Games Explorer and the parental control system ignores the game’s rating, because the rating information cannot be trusted without certification. For more details about signing code with Authenticode, see Authenticode Signing for Game Developers.

Integrating with an Installer

To simplify Games Explorer integration, the GameUXInstallHelper sample provides a common API that can be called on Windows XP, Windows Vista, and Windows 7. It is designed to work with scripts for InstallShield and Wise Installation System, as well as MSI custom actions and custom installation tools. Detection of the operating system is handled inside this sample DLL, so the caller does not need to worry whether the client is running Windows XP, Windows Vista, or Windows 7.

The functions exported by this DLL are the following:

GameExplorerInstallW

Registers a game with Games Explorer, given a path to the GDF binary, a full path to the folder where the game is installed, and the installation scope.

GameExplorerInstallA

Registers a game with Games Explorer; ANSI version of GameExplorerInstallW.

GameExplorerUninstallW

Removes a game from registration with Games Explorer, given a path to the GDF binary.

GameExplorerUninstallA

Removes a game from registration with Games Explorer; ANSI version of GameExplorerUninstallW.

GameExplorerSetMSIProperties

Configures the CustomActionData properties for the actions of an MSI deferred custom installation. Usage of this function is described in detail later in this article.

GameExplorerInstallUsingMSI

Adds a game to Games Explorer; for use during an MSI custom action installation.

GameExplorerUninstallUsingMSI

Remove a game from Games Explorer; for use during an MSI custom action installation.

These functions are further explained in the GameUXInstallHelper.h header.

Integration Process

Once the GDF and related files have been added to a binary resource, it is then possible to integrate the game with Games Explorer. Using GameUXInstallHelper will simplify the integration process. To register the game with Games Explorer, call the GameExplorerInstall with a path to the GDF binary, a full path to the folder where the game is installed, and the installation scope. To remove the game’s registration, call GameExplorerUninstall with a path to the GDF binary.

Note that the removal process only removes one unique installation. If a game has been installed multiple times, this process must be repeated for each unique installation.

Games Explorer Tasks

Games Explorer tasks will appear in the context menu of an item in Games Explorer. Tasks are divided into play tasks and support tasks. Play tasks launch a game into a particular mode, while support tasks serve any other purpose, including linking to web sites.

In Windows Vista, tasks are simply shortcuts that are located in specific folders. Play tasks and support tasks are stored in folders with the corresponding names PlayTasks and SupportTasks. GameUXInstallHelper can read the game’s task information from the GDF binary file and create all of the shortcuts automatically.

Читайте также:  Windows application error fix

In Windows 7, the shortcuts to the tasks are not needed, because Games Explorer obtains all of the task information directly from the GDF binary file.

Integrating into InstallScript

Calling Games Explorer APIs from InstallShield’s InstallScript is made easy by using the GameUXInstallHelper sample. The steps required to integrate with InstallShield are as follows:

Open an InstallScript project in the InstallShield editor.

Add GameUXInstallHelper.dll to the project to be installed to the target directory.

To add GameUXInstallHelper.dll to an InstallScript project:

On the Installation Designer tab, click Application Data in the navigation pane on the left.

Click Files and Folders and browse in Source computer’s folders to locate GameUXInstallerHelper.dll in Source computer’s files.

The default location for GameUXInstallerHelper.dll is DirectX SDK root\Samples\C++\Misc\Bin\x86.

Under Destination computer’s folders, click Application Target Folder.

Drag GameUXInstallerHelper.dll from Source computer’s files to Destination computer’s files.

In the InstallScript explorer, click the InstallScript file (usually setup.rul) that calls the DLL function.

Paste the following InstallScript into the file:

Integrating into an MSI Package

The following is a high-level description of the steps required to call the Games Explorer APIs using MSI custom actions:

  1. Add a property to the MSI Property table called «RelativePathToGDF» containing the relative path to the GDF binary.
  2. After the CostFinalize action, call the GameUXInstallHelper DLL function SetMSIGameExplorerProperties in an immediate custom action to set the appropriate MSI properties for the other custom actions.
  3. Upon installation, trigger a deferred custom action after the InstallFiles action that calls the GameUXInstallHelper DLL function AddToGameExplorerUsingMSI. If the installation is for all users, then the custom action must set the flag msidbCustomActionTypeNoImpersonate; otherwise, it must not set this flag. Therefore, two nearly identical custom actions are defined: GameUXAddAsAdmin and GameUXAddAsCurUser.
  4. Upon removal of the installation, trigger a deferred custom action before the RemoveFiles action that calls the GameUXInstallHelper DLL function RemoveFromGameExplorerUsingMSI. If the installation was for all users, then the custom action must set the flag msidbCustomActionTypeNoImpersonate; otherwise, it must not set this flag. Therefore, two nearly identical custom actions are defined: GameUXRemoveAsAdmin and GameUXRemoveAsCurUser.
  5. Define rollback custom actions to handle the case where the user cancels installing or removing after one of the these custom actions has already happened. This results in an additional 4 custom actions: GameUXRollBackAddAsAdmin, GameUXRollBackAddAsCurUser, GameUXRollBackRemoveAsAdmin, and GameUXRollBackRemoveAsCurUser.

This procedure is described in detail in the following instructions, which describe a process that can be done using an MSI editor, such as the Orca editor found in the Platform SDK. Some MSI editors have wizards which simplify some of these configuration steps.

To configure an MSI package for integration with Games Explorer

Open the MSI package in Orca.

Add the row shown in the following table to the Binary table in the MSI package.

Name Data
GAMEUX file path to the DLL\GameUXInstallHelper.dll

This file will be embedded in the MSI package, so you must do this step every time you recompile GameUXInstallHelper.dll.

Add the rows shown in the following table to the CustomAction table in the MSI package.

Action Type Source Target
GameUXSetMSIProperties msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue = 65 GAMEUX SetMSIGameExplorerProperties
GameUXAddAsAdmin msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3137 GAMEUX AddToGameExplorerUsingMSI
GameUXAddAsCurUser msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeInScript = 1089 GAMEUX AddToGameExplorerUsingMSI
GameUXRollBackAddAsAdmin msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeRollback + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3393 GAMEUX RemoveFromGameExplorerUsingMSI
GameUXRollBackAddAsCurUser msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeRollback + msidbCustomActionTypeInScript = 1345 GAMEUX RemoveFromGameExplorerUsingMSI
GameUXRemoveAsAdmin msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3137 GAMEUX RemoveFromGameExplorerUsingMSI
GameUXRemoveAsCurUser msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeInScript = 1089 GAMEUX RemoveFromGameExplorerUsingMSI
GameUXRollBackRemoveAsAdmin msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeRollback + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 3393 GAMEUX AddToGameExplorerUsingMSI
GameUXRollBackRemoveAsCurUser msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData + msidbCustomActionTypeContinue + msidbCustomActionTypeRollback + msidbCustomActionTypeInScript = 1345 GAMEUX AddToGameExplorerUsingMSI

Add the values shown for Action, Condition, and Sequence in the following table to the InstallExecuteSequence table in the MSI package.

Action Condition Sequence Notes
GameUXSetMSIProperties 1015 The sequence number places the action soon after CostFinalize.
GameUXAddAsAdmin NOT Installed AND ALLUSERS 4003 This custom action will only happen during a fresh installation for all users. The sequence number places the action after InstallFiles and after the rollbacks.
GameUXAddAsCurUser NOT Installed AND NOT ALLUSERS 4004 This custom action will only happen during a fresh installation for the current user only. The sequence number places the action after InstallFiles and after the rollbacks.
GameUXRollBackAddAsAdmin NOT Installed AND ALLUSERS 4001 This custom action will only happen when a fresh installation for all users is cancelled. The sequence number places the action after InstallFiles and before the Add custom action.
GameUXRollBackAddAsCurUser NOT Installed AND NOT ALLUSERS 4002 This custom action will only happen when a fresh installation for the current user only is cancelled. The sequence number places the action after InstallFiles and before the Add custom action.
GameUXRemoveAsAdmin REMOVE

=»ALL» AND ALLUSERS

3452 This custom action will only happen during removal for all users. The sequence number places the action directly before RemoveFiles and after the rollbacks.
GameUXRemoveAsCurUser REMOVE

=»ALL» AND NOT ALLUSERS

3453 This custom action will only happen during removal for the current user. The sequence number places the action directly before RemoveFiles and after the rollbacks.
GameUXRollBackRemoveAsAdmin REMOVE

=»ALL» AND ALLUSERS

3450 This custom action will only happen when removal for all users is cancelled. The sequence number places the action directly before RemoveFiles and before the Remove custom action.
GameUXRollBackRemoveAsCurUser REMOVE

=»ALL» AND NOT ALLUSERS

3451 This custom action will only happen when removal for the current user is cancelled. The sequence number places the action directly before RemoveFiles and before the Remove custom action.

Add the row shown in the following table to the Property table in the MSI package.

List of Executable File Extensions

Files with these extensions might be able to execute a task automatically.

A file with an executable file extension means that the file format supports some ability to run an automatic task. This is in contrast to other file formats that just display data, play a sound or video, or otherwise present content without running a system command.

File Extensions Explained

If you open a file with one of these file extensions, your computer could, without your continued permission, run one or more operations programmed into that file.

To put it in even simpler terms, these files either belong to programs, scripts, or program extensions and plugins. They’re meant to run and do things on your computer, only you can’t be sure exactly what they’re running or doing. That’s why it’s always crucial to only run them when they come from a trusted source or website.

Those operations could be damaging if, for example, you were to run a virus-infected executable file that you received by email from someone you don’t know.

Please exercise caution before opening any executable file, especially those received in suspicious emails or downloaded from unfamiliar websites.

High-Risk File Extensions

We’ve rated the following executable file types as High Risk because essentially all computers with the listed operating system installed execute the commands contained in the executable file.

In other words, files with the extensions listed below can be executed with some basic parts of Windows, macOS, Linux, etc. No additional program is required.

Potentially Dangerous File Extensions
Extension Format Operating System(s)
ACTION Automator Action macOS
APK Application Android
APP Executable macOS
BAT Batch File Windows
BIN Binary Executable Windows, macOS, Linux
CMD Command Script Windows
COM Command File Windows
COMMAND Terminal Command macOS
CPL Control Panel Extension Windows
CSH C Shell Script macOS, Linux
EXE Executable Windows
GADGET Windows Gadget Windows
INF 1 Setup Information File Windows
INS Internet Communication Settings Windows
INX InstallShield Compiled Script Windows
IPA Application iOS
ISU InstallShield Uninstaller Script Windows
JOB Windows Task Scheduler Job File Windows
JSE JScript Encoded File Windows
KSH Unix Korn Shell Script Linux
LNK File Shortcut Windows
MSC Microsoft Common Console Document Windows
MSI Windows Installer Package Windows
MSP Windows Installer Patch Windows
MST Windows Installer Setup Transform File Windows
OSX Executable macOS
OUT Executable Linux
PAF Portable Application Installer File Windows
PIF Program Information File Windows
PRG Executable GEM
PS1 Windows PowerShell Cmdlet Windows
REG Registry Data File Windows
RGS Registry Script Windows
RUN Executable Linux
SCR Screensaver Executable Windows
SCT Windows Scriptlet Windows
SHB Windows Document Shortcut Windows
SHS Shell Scrap Object Windows
U3P U3 Smart Application Windows
VB VBScript File Windows
VBE VBScript Encoded Script Windows
VBS VBScript File Windows
VBSCRIPT Visual Basic Script Windows
WORKFLOW Automator Workflow macOS
WS Windows Script Windows
WSF Windows Script Windows
WSH Windows Script Preference Windows

[1] To execute an INF file, you must open the pop-up menu (usually by right-clicking on the file) and choose Install.

Other Executable File Extensions

The following file extensions are only executable if you happen to have the software installed that carries out the commands contained in the file.

If you do have one of the programs below installed, consider files with the associated extensions as executable and High Risk. If you don’t have a particular program installed and you try to execute a file with that extension, either a harmless error will appear or nothing at all will happen.

High Risk File Extensions
Extension Format Program
0XE Renamed Virus File F-Secure Internet Security
73K TI-73 Application TI Connect
89K TI-89 Application TI Connect
A6P Authorware 6 Program File Adobe Authorware
AC GNU Autoconf Script Autoconf
ACC GEM Accessory File Gemulator
ACR ACRobot Script ACRobot
ACTM AutoCAD Action Macro AutoCAD
AHK AutoHotkey Script AutoHotkey
AIR Adobe AIR Installation Package Adobe AIR
APP FoxPro Application Visual FoxPro
ARSCRIPT ArtRage Script ArtRage Studio
AS Adobe Flash ActionScript File Adobe Flash
ASB Alphacam Stone VB Macro Alphacam
AWK AWK Script AWK
AZW2 Kindle Active Content App File Kindle Collection Manager
BEAM Compiled Erlang File Erlang
BTM 4DOS Batch File 4DOS
CEL Celestia Script Celestia
CELX Celestia Script Celestia
CHM Compiled HTML Help File Firefox, IE, Safari
COF MPLAB COFF File MPLAB IDE
CRT Security Certificate Firefox, IE, Chrome, Safari
DEK Eavesdropper Batch File Eavesdropper
DLD EdLog Compiled Program Edlog
DMC Medical Manager Script Sage Medical Manager
DOCM Word Macro-Enabled Document Microsoft Word
DOTM Word Macro-Enabled Template Microsoft Word
DXL Rational DOORS Script Rational DOORS
EAR Java Enterprise Archive File Apache Geronimo
EBM EXTRA! Basic Macro EXTRA!
EBS E-Run 1.x Script E-Prime (v1)
EBS2 E-Run 2.0 Script E-Prime (v2)
ECF SageCRM Component File SageCRM
EHAM ExtraHAM Executable HAM Programmer Toolkit
ELF Nintendo Wii Game File Dolphin Emulator
ES SageCRM Script SageCRM
EX4 MetaTrader Program File MetaTrader
EXOPC ExoPC Application EXOfactory
EZS EZ-R Stats Batch Script EZ-R Stats
FAS Compiled Fast-Load AutoLISP File AutoCAD
FKY FoxPro Macro Visual FoxPro
FPI FPS Creator Intelligence Script FPS Creator
FRS Flash Renamer Script Flash Renamer
FXP FoxPro Compiled Program Visual FoxPro
GS Geosoft Script Oasis Montaj
HAM HAM Executable Ham Runtime
HMS HostMonitor Script HostMonitor
HPF HP9100A Program File HP9100A Emulator
HTA HTML Application Internet Explorer
IIM iMacro Macro iMacros (Firefox Add-on)
IPF SMS Installer Script Microsoft SMS
ISP Internet Communication Settings Microsoft IIS
JAR Java Archive Firefox, IE, Chrome, Safari
JS JScript Executable Script Firefox, IE, Chrome, Safari
JSX ExtendScript Script Adobe ExtendScript Toolkit
KIX KiXtart Script KiXtart
LO Interleaf Compiled Lisp File QuickSilver
LS LightWave LScript File LightWave
MAM Access Macro-Enabled Workbook Microsoft Access
MCR 3ds Max Macroscript or Tecplot Macro 3ds Max
MEL Maya Embedded Language File Maya 2013
MPX FoxPro Compiled Menu Program Visual FoxPro
MRC mIRC Script mIRC
MS 3ds Max Script 3ds Max
MS Maxwell Script Maxwell Render
MXE Macro Express Playable Macro Macro Express
NEXE Chrome Native Client Executable Chrome
OBS ObjectScript Script ObjectScript
ORE Ore Executable Ore Runtime Environment
OTM Outlook Macro Microsoft Outlook
PEX ProBoard Executable ProBoard BBS
PLX Perl Executable ActivePerl or Microsoft IIS
POTM PowerPoint Macro-Enabled Design Template Microsoft PowerPoint
PPAM PowerPoint Macro-Enabled Add-in Microsoft PowerPoint
PPSM PowerPoint Macro-Enabled Slide Show Microsoft PowerPoint
PPTM PowerPoint Macro-Enabled Presentation Microsoft PowerPoint
PRC Palm Resource Code File Palm Desktop
PVD Instalit Script Instalit
PWC PictureTaker File PictureTaker
PYC Python Compiled File Python
PYO Python Optimized Code Python
QPX FoxPro Compiled Query Program Visual FoxPro
RBX Rembo-C Compiled Script Rembo Toolkit
ROX Actuate Report Object Executable eReport
RPJ Real Pac Batch Job File Real Pac
S2A SEAL2 Application SEAL
SBS SPSS Script SPSS
SCA Scala Script Scala Designer
SCAR SCAR Script SCAR
SCB Scala Published Script Scala Designer
SCRIPT Generic Script Original Scripting Engine 1
SMM Ami Pro Macro Ami Pro
SPR FoxPro Generated Screen File Visual FoxPro
TCP Tally Compiled Program Tally Developer
THM Thermwood Macro Mastercam
TLB OLE Type Library Microsoft Excel
TMS Telemate Script Telemate
UDF Excel User Defined Function Microsoft Excel
UPX Ultimate Packer for eXecutables File Ultimate Packer for eXecutables
URL Internet Shortcut Firefox, IE, Chrome, Safari
VLX Compiled AutoLISP File AutoCAD
VPM Vox Proxy Macro Vox Proxy
WCM WordPerfect Macro WordPerfect
WIDGET Yahoo! Widget Yahoo! Widgets
WIZ Microsoft Wizard File Microsoft Word
WPK WordPerfect Macro WordPerfect
WPM WordPerfect Macro WordPerfect
XAP Silverlight Application Package Microsoft Silverlight
XBAP XAML Browser Application Firefox, IE
XLAM Excel Macro-Enabled Add-In Microsoft Excel
XLM Excel Macro-Enabled Workbook Microsoft Excel
XLSM Excel Macro-Enabled Workbook Microsoft Excel
XLTM Excel Macro-Enabled Template Microsoft Excel
XQT SuperCalc Macro CA SuperCalc
XYS XYplorer Script XYplorer
ZL9 Renamed Virus File ZoneAlarm

[1] By «Original Scripting Engine» I mean whatever program created the script. It would be impossible to list, and keep updated, the number of scripting engines that might use these file extensions.

This is not a complete list of executable file extensions, nor is it a list of dangerous but non-executable file types.

Читайте также:  Как определить windows core
Оцените статью