AGS.Editor.BuildTargetWindows.UpdateWindowsEXE C# (CSharp) Метод

UpdateWindowsEXE() публичный Метод

public UpdateWindowsEXE ( string filename, CompileMessages errors ) : void
filename string
errors CompileMessages
Результат void
        public void UpdateWindowsEXE(string filename, CompileMessages errors)
        {
            if (!File.Exists(filename)) return;
            if (errors == null) errors = new CompileMessages();
            if (File.Exists(AGSEditor.CUSTOM_ICON_FILE_NAME))
            {
                try
                {
                    Factory.NativeProxy.UpdateFileIcon(filename, AGSEditor.CUSTOM_ICON_FILE_NAME);
                }
                catch (AGSEditorException ex)
                {
                    Factory.GUIController.ShowMessage("An problem occurred setting your custom icon onto the EXE file. The error was: " + ex.Message, MessageBoxIcon.Warning);
                }
            }
            try
            {
                UpdateVistaGameExplorerResources(filename);
            }
            catch (Exception ex)
            {
                errors.Add(new CompileError("Unable to register for Vista Game Explorer: " + ex.Message));
            }
            try
            {
                Factory.NativeProxy.UpdateFileVersionInfo(filename, Factory.AGSEditor.CurrentGame.Settings.DeveloperName, Factory.AGSEditor.CurrentGame.Settings.GameName);
            }
            catch (Exception ex)
            {
                errors.Add(new CompileError("Unable to set EXE name/description: " + ex.Message));
            }
        }

Same methods

BuildTargetWindows::UpdateWindowsEXE ( string filename ) : void

Usage Example

Пример #1
0
 public override bool Build(CompileMessages errors, bool forceRebuild)
 {
     if (!base.Build(errors, forceRebuild))
     {
         return(false);
     }
     Factory.AGSEditor.SetMODMusicFlag();
     DeleteAnyExistingSplitResourceFiles();
     if (Factory.AGSEditor.Preferences.UseLegacyCompiler)
     {
         Factory.NativeProxy.CompileGameToDTAFile(Factory.AGSEditor.CurrentGame, AGSEditor.COMPILED_DTA_FILE_NAME);
         // if using the legacy compiler, make sure engine EXE is copied before calling CreateGameEXE
         string newExeName = GetCompiledPath(Factory.AGSEditor.BaseGameFileName + ".exe");
         string sourceEXE  = Path.Combine(Factory.AGSEditor.EditorDirectory, AGSEditor.ENGINE_EXE_FILE_NAME);
         File.Copy(sourceEXE, newExeName, true);
         BuildTargetWindows targetWindows = (BuildTargetsInfo.FindBuildTargetByName("Windows") as BuildTargetWindows);
         // updating the Vista game explorer resources after the EXE is fully created is deleting the data file,
         // corrupting the game resources
         targetWindows.UpdateWindowsEXE(newExeName, errors);
         // the above all needs to be done here anyway, so finish up by creating the setup EXE and copying plugins
         targetWindows.CreateCompiledSetupProgram();
         targetWindows.CopyPlugins(errors);
         Factory.NativeProxy.CreateGameEXE(ConstructFileListForDataFile(), Factory.AGSEditor.CurrentGame, Factory.AGSEditor.BaseGameFileName);
     }
     else
     {
         if (!DataFileWriter.SaveThisGameToFile(AGSEditor.COMPILED_DTA_FILE_NAME, Factory.AGSEditor.CurrentGame, errors))
         {
             return(false);
         }
         string errorMsg = DataFileWriter.MakeDataFile(ConstructFileListForDataFile(), Factory.AGSEditor.CurrentGame.Settings.SplitResources * 1000000,
                                                       Factory.AGSEditor.BaseGameFileName, true);
         if (errorMsg != null)
         {
             errors.Add(new CompileError(errorMsg));
         }
     }
     File.Delete(AGSEditor.COMPILED_DTA_FILE_NAME);
     CreateAudioVOXFile(forceRebuild);
     // Update config file with current game parameters
     Factory.AGSEditor.WriteConfigFile(AGSEditor.OUTPUT_DIRECTORY);
     return(true);
 }