0
私はWindowsゲームエクスプローラと統合するゲームを取得しようとしています。これまでバイナリにリソースとしてGame Definition Format XMLファイルを埋め込んでいましたが、実際のInnoセットアップスクリプトは、DLLをインストーラに統合するためのものです。ゲームエクスプローラにゲームを追加する
これは私が今までにやったことです:
[Files]
Source: GameuxInstallHelper.dll; DestDir: "{tmp}"; Flags: dontcopy
[Code]
const
GIS_NOT_INSTALLED = 1;
GIS_CURRENT_USER = 2;
GIS_ALL_USERS = 3;
// Given a game instance GUID and path to GDF binary, registers game with Game Explorer
procedure AddToGameExplorer(GDFBinPath: PChar; GameInstallPath: PChar; InstallScope : integer; GameGUID : GUID);
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Given a game instance GUID, unregisters a game from Game Explorer
function RemoveFromGameExplorer(GameGUID : GUID) : boolean;
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Given a path to a GDF binary that has already been registered, returns a game instance GUID
function RetrieveGUIDForApplication(GDFBinPath: PChar; var GameGUID : GUID) : boolean;
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Creates a unique game instance GUID
function GenerateGUID(var GameGUID : GUID) : boolean;
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Register with Media Center using the data from a GDF binary
procedure RegisterWithMediaCenter(GDFBinPath : PChar; GameInstallPath : PChar; InstallScope : integer; ExePath : PChar; CommandLineArgs : PChar; UseRegisterMCEApp : boolean);
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Unregister with Media Center
procedure UnRegisterWithMediaCenter(GameInstallPath : PChar; InstallScope : integer; strExePath : PChar; UseRegisterMCEApp : boolean);
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Given a a game instance GUID, creates a task shortcut in the proper location
procedure CreateTask(InstallScope : integer; GameInstanceGUID : GUID; SupportTask : boolean; TaskID : integer; TaskName :PChar; LaunchPath : PChar; CommandLineArgs : PChar);
external '[email protected]:GameuxInstallHelper.dll stdcall';
// This removes all the tasks associated with a game instance GUID
// Pass in a valid GameInstance GUID that was passed to AddGame()
procedure RemoveTasks(GameInstanceGUID : GUID);
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Creates the registry keys to enable rich saved games. The game still needs to use
// the rich saved game header as defined in the documentation and support loading a
// saved game from the command line.
procedure SetupRichSavedGames(SavedGameExtension : PChar; LaunchPath : PChar; CommandLineToLaunchSavedGame : PChar);
external '[email protected]:GameuxInstallHelper.dll stdcall';
// Removes the registry keys to enable rich saved games.
procedure RemoveRichSavedGames(SavedGameExtension : PChar);
external '[email protected]:GameuxInstallHelper.dll stdcall';
はしかし、私は2個のエラーを持っていると私はそれらを乗り越えることはできません。
Unknown type 'GUID'
と
Cannot import dll:C:\Users\my user\AppData\Local\Temp\a random name folder\GameuxInstallHelper.dll
どのようにエラーを解決するか、コードを変更するには?