Implementing event functions InitializeWizard while using ISSI (to add background image) in Inno Setup: Duplicate identifier 'INITIALIZEWIZARD'

后端 未结 1 765
深忆病人
深忆病人 2020-12-01 23:00

I\'m trying to put a background image to Inno Setup installer using ISSI along with a song using the \"BASS audio library\", but I can only keep one of them active since I g

相关标签:
1条回答
  • 2020-12-01 23:46

    In Inno Setup 6, with its support for event attributes, see Merging event function (InitializeWizard) implementations from different sources.

    [Code]
    
    <event('InitializeWizard')>
    procedure InitializeWizard2;
    begin
      { Your BASS code goes here }
    end;
    

    For older versions of Inno Setup:

    Inno Setup Script #Includes (ISSI) may implement some Inno Setup event functions, like InitializeWizard, InitializeSetup, CurPageChanged, BackButtonClick, NextButtonClick and DeinitializeSetup for its own purposes. Not all event functions are necessarily defined, it depends on ISSI features you are using. In your case, it's the ISSI_BackgroundImage that causes implementation of InitializeWizard event function.

    If you need to run your own code in some of these event functions, ISSI implementation of event function can call your user defined function, when you define an appropriate preprocessor symbol. The symbol name is like ISSI_EventFunctionName and the user defined function must have the same name. The function/procedure also must have the same signature as the original Inno Setup event function.

    Both the symbol and the user function must be defined before you include _issi.isi.

    An example for InitializeWizard:

    [Code]
    
    procedure ISSI_InitializeWizard;
    begin
      { Your BASS code goes here }
    end;
    
    #define ISSI_InitializeWizard
    
    #define ISSI_IncludePath "C:\ISSI"
    #include ISSI_IncludePath+"\_issi.isi"
    
    0 讨论(0)
提交回复
热议问题