Hello Ingo Schmidt!

        Thanks for your reply!

        Now I can code a simply custom action. But I found some keys like
action position and action condition I don't know how to deal with.

For example : 

        I want to add a custom action to uninstall the old openoffice.org
1.1.2v before installing the 680 version.I should better let the
installer call my "check_and_delete_old_version" action first. What are
the values of position key and condition key should I code?

        Thank you :-)

Gino
Regards
June.08.2005



Ingo Schmidt wrote: 
> Hello Gino,
> 
> adding a Custom Action to the installation is very simple (although I 
> will have to simplify this process in the near future ;-) )
> 
> I.
> The source code for the CustomAction has to be defined in cvs module 
> setup_native (setup_native/source/win32/customactions). You can create a 
> new library or use an existing library for which you create a new entry 
> point for the Windows Installer.
> 
> II.
> (Only if you create a new library) A new library has to be defined in 
> scp2. Then it will be included into the installation set.
> Example in file_library_ooo.scp:
> 
> #ifdef WNT
> File gid_File_Lib_Reg4msdocmsi
>      TXT_FILE_BODY;
>      Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
>      Dir = gid_Dir_Program;
>      Name = "reg4msdocmsi.dll";
> End
> #endif
> 
> Flags:
> BINARYTABLE: The file is included into the msi database.
> BINARYTABLE_ONLY: The file is not installed into the program-directory, 
> it is only part of the msi database.
> 
> III.
> The entry point of the library has to be defined for the Windows 
> Installer. This has to happen in the future also in the scp project, but 
> is currently only implemented in cws module solenv 
> (solenv/bin/make_installer.pl).
> At the end of the file you find the following three code lines:
> 
> # adding the custom action for the regactivex in executesequence table 
> into the product (CustomAc.idt and InstallE.idt)
> $added_customaction = 
> installer::windows::idtglobal::set_custom_action($customactionidttable, 
> $binarytable, "Regactivexdll1", "65", "regactivex.dll", 
> "InstallActiveXControl", 1, $filesinproductlanguageresolvedarrayref, 
> $customactionidttablename);
> if ( $added_customaction ) { 
> installer::windows::idtglobal::add_custom_action_to_install_table($installexecutetable,
>  
> "regactivex.dll", "Regactivexdll1", "\&FEATURETEMPLATE=3 And Not PATCH", 
> "end", $filesinproductlanguageresolvedarrayref, $installexecutetablename); }
> 
> First "set_custom_action" sets "$added_customaction" only to true, if 
> the library is part of the product. It defines the CustomAction in the 
> table "CustomAction". Therefore you need a Custom Action name 
> ("Regactivexdll1"), the correct type ("65", means 1+64, 1: library in 
> binary table, 64: synchronous execution, ignoring exit code), the 
> library ("regactivex.dll"), the entry point (target 
> "InstallActiveXControl") and a value ("1") showing that the library is 
> part of the binary table.
> If the Custom Action was added (returning $added_customaction) it has to 
> be called in the InstallExecuteSequence or in the InstallUISequence (or 
> both). The necessary line is written into the table in the function 
> "add_custom_action_to_install_table". Parameter are again the library 
> name, the name of the Custom Action, a condition and a position in the 
> table.
> 
> That's it. Then you have to build setup_native, scp2 and 
> instsetoo_native and everything should work fine.
> Regards
> 
>   Ingo
> 
> 
> Gino wrote:
> > hello everybody.
> > 
> >     I want to add a custom action in openoffice.org win32 installation.
> > what should I do? and where could I find documents talking about the
> > custom action?
> > 
> >     thank you. :-)
> > 
> > Regards
> > Gino
> > June.07.2005
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to