If you are a new user, and want to easly create plugins,
use "Plugin Creator Packed" which is available on all projects *\Utils\http://TheOven.org/index.php?topic=178
You can make hundereds of plugins in a day
and you can learn basic of plugin writing on following related topics of "Plugin Creator Packed"
Not all applications are easy to create plugins
Plugin Authors who spend some time to create plugins needs more....
here are some tips to those spend such time :
Advanced Plugin Authors:
How to put a file to "User Profile" location:
How to put a file to "All User Profile" location:
How to put a file to "Desktop" location:
How to put a file to "Local Settings App Data" location:
following code gives location to a variable
further you copy files to locations
SE : result will be something like:
Gena : result will be something like:
%BaseDir%\Workbench\Gena\UserData\TargetProfiles\GenaP\All Users\Application Data
%BaseDir%\Workbench\Gena\UserData\TargetProfiles\GenaP\GenaU\Local Settings\Application Data
* When writing profile location to registry:
How to put "User Profile" location for a hardcode path of a utility setting:
Giving example with FireFox:
here is an example creating a file at desktop
well, you can also copy files folders etc....
-> See plugin topic http://TheOven.org/index.php?topic=1216
ps: See Call : http://theoven.org/index.php?topic=45
Keep in mind, sometimes utilities are not coded well to read variables,For such utilities
AND when profilepath is variable, better make things at boottime
here is an example:
//--> build time tasks ( you can easly write configuration file at build time)
//--> boot time task (Add_Shortcut,Startup, .... to write configuration file - au3 - cmd)
How to decide if it is PE1x - PE2x - Win98 ....
Very Generally, on Application plugins, main requirement is to figure out if this is PE1x or above...
Use %OSFamily% variable, available on all projects.
How to check source architecture
x86 x64 IA64%TargetWOW64%
How to check if build have ability to run 32 bit application
easiest way is to add
to the top of [Process]
at core level
when source is 32bit , %TargetWOW64% value naturally x86
when source is 64bit , %TargetWOW64% value naturally can be x86 or x64 , if x86 than a WOW64 plugin exists ;) (Thanks to JFX)
Current projects (Gena, Win7PE SE , Win8PE SE) uses Wow64 plugin made by JFX hence all these projects have ability to run 32bit applications...
x86 x64 IA64
writing associations and explorer shell integrations, convert 0x1 to 0x2
RegCPE follows input reg file, converts 0x1 entries as 0x1,
you need to manually make conversions to variables..
Windows do not accept variables with 0x1, so when using variables one also need to change 0x1 to 0x2
Plugin Creator Association Helper:http://theoven.org/index.php?topic=189.0
as you see both icon and command written with 0x2
RegWrite,HKLM,0x2,"Tmp_Software\Classes\*\shell\Play with %ProgramTitle%\command",,"#$q%PE_Programs%\%ProgramFolder%\%ProgramEXE%#$q #$q#$p1#$q"
This way, plugins keep flexibility and ready for any drive letter other than X:
All Apps plugins and most Component plugins written with this way
Ref: Reply 5 6 7 9 13 http://TheOven.org/index.php?topic=1563.msg18348#msg18348
Plugin Requirements to Other Plugins:
Sometimes plugin requires other plugins,Solution:
write a Bold
text to interface
Tip: writing only to description mostly miss from eyes
there are some known requirements (+other things), in addition to interface, they are written to Description= prefix
(only x64 v....)
(only x86 v....)
--> source code available
--> this represents both console AND none gui (none console) applications
ps: DO NOT use Depends= , It always result troubles with General Plugins,
another bad design of builder.
ex: Reply 96 98 http://theoven.org/index.php?topic=340.msg17475#msg17475
See this topic about some more plugin writing tips:
KYHI - Add multiplierhttp://TheOven.org/index.php?topic=1247
JonF - How to force SysWOW64 for 32-bit DLLhttp://TheOven.org/index.php?topic=806.0