[Release] WPI Addon maker (For RVMI)

Discuss & post all WPI addons to the RyanVM Update Pack here. This forum is no longer active and is displayed for reference only.
Locked
User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

[Release] WPI Addon maker (For RVMI)

Post by ENU_user » Thu Dec 20, 2007 12:14 am

WPI Bee

AddOn maker compliant that makes it easy to import installers, Scripts, tweaks .etc to WPI with just an *addon*
it Generates the compliant addons , making them ready for RVMI to *Next* have them compiled intoWPI's configuration scripts

collects files and installers within any folder structure pre made reading any of the available executables:

".ade, .adp, .bas, .bat, .chm, .cmd, .com, .cpl, .crt, .dll, .exe, .hlp, .hta, .inf, .ins, .isp, .js, .jse, .lnk, .mdb, .mde, .msc, .msi, .msp, .mst, .pcd, .pif, .reg, .scr, .sct, .shs, .url, .vb, .vbe, .vbs, .wsc, .wsf, .wsh"

HowTo?:
1: Get a copy of RVMintegrator
From the menu goto plugins and select windows post install wizard "check for updates" Next choose "enable >windows post install wizard "integrator pops up a message asking to choose 1 method out of 2.


1: Svcpack, instructs WPI to install during setup @ t-13
2: called "Runonce" which is for installing all WPI installations during the GUI mode at "Runonce" probably the Recommended method to select!

NEXT:
addons are created from what ever installer-files you have Placed in Install directory
create any structure using "titles" = "folders" = "categories" and populate the installers into them
use any substructure you wish, only make sure everything goes under Install folder.


reading the folder titles everything shall fall in category's when starting the WPI.hta tool

translating this structure for example:

internet\
internet\browser\firefox.exe
internet\browser\IE7.exe
internet\apps\FTPExplorer.exe
internet\security\Ad-Aware07.exe
internet/browser (category)
firefox
internet/apps (category)
FTPExplorer.exe
WPI Bee
Image

construct a directory as shown in the picture

in the ProgramAddons directory is where you can place ProgramAddons for nlite and integrator that are using svcpack method
yes WPI Bee is now able to convert svcpack addons using switches or not ...to WPI compliant Addons to be used Next with integrator to compile them ...

(notice ProgramAddons after completing a session it will auto change to *(used) revet that and WPI Bee will frisk it again upon the next use)

in the install directory or any sub directory you can have *reg files *bat *exe files or any other executables

in the Graphics directory you can have *png's pictures for the installers ,they will get integrated into the addon if they exist in installer and *png

in the descriptions directory you can have *txt files for installers that contain a description ...

names for txt or png files don't have to remain unique to installers and vise versa

in the switches1 directory its possible to keep files that contain switches ... i.e

Firefox2.exe -ms
Skype.exe /VERYSILENT
...
limitations:
all installers, scripts .etc are processed on the same level upon creation
for this Reason ,watch out for duplicate installers,scripts .etc (using same names)

Small Tip: check the addons before integrating ..

Image :Release: 08.06.25 / v1.0.3.5 / F228130E793A2E7326638AF0D1BEC156

Code: Select all

NEW! added support to convert svcpack ProgramAddons to WPI compliant Addons
i found a small set of reg tweaks distributed so i categorized them with folder titles and set them to be processed with this tool
this is what i got : reg tweaks
thanks to lsrkin! for testing and approving ..

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Mon Dec 31, 2007 1:31 am

added a fisher for reg files ,now i completely forgot about adding *.vbs
so far: *exe *msi *reg *vbs

...what other "run" modules should I add? 3d scripts..etc
please let me know before 2008 so i can wrap this already! ;)

TIA :

ED/it: *cmd -what els..

User avatar
Siginet
Site Admin
Posts: 2894
Joined: Fri May 27, 2005 1:07 pm
Location: Planet Earth
Contact:

Post by Siginet » Mon Dec 31, 2007 8:00 am

*.bat files. They are basically the same as .cmd files... but should be added. ;)
Image
--Siginet--

Techware
Your Virtual Technician
Computer Management Software

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Mon Dec 31, 2007 8:17 am

thanks sig how did I forget the "*bat" :D
i need these so the categories don't get corrupted in WPI view

will make the changes and compile later on today ..
thanks again ;)

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Tue Jan 01, 2008 2:38 am

updated: to support better category viewing under the WPI.hta configuration when having all: ".bat" ".cmd" ".exe" ".msi" ".reg" ".vbs" in the mix

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Tue Jan 08, 2008 11:56 am

updated to save the the newly created addons with the same structure of folder titles the files where integrated with

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Wed Jan 09, 2008 5:07 pm

the script towards the end completely jumped the tracks ,sorry

..updated

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Thu Jan 10, 2008 5:43 pm

guess what ...I was really looking for an update.. :D

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Sat Jan 19, 2008 10:14 am

updated the guide and the tool for clearer handle routines!

User avatar
rubab
Posts: 187
Joined: Sun Dec 03, 2006 9:06 am

Post by rubab » Sat Apr 26, 2008 8:23 am

ENU_user thanks for the hard work. This Plugin is very helpful.

User avatar
UtCollector
Posts: 464
Joined: Sun Apr 09, 2006 8:31 pm
Contact:

Post by UtCollector » Sat Apr 26, 2008 10:26 am

Nice i like addon makers :D :wink: Hope to test it soon 8)

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Sat Jun 07, 2008 6:45 am

might be worth mentioning that i've found WpiBee uses tools dependent on libintl3.dll (which is dependent libiconv2.dll) which could be gotten at:
http://gnuwin32.sourceforge.net/

placing those in with wpibee.exe solves error messages about these files being missing (duh).

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Sat Jun 07, 2008 8:15 am

thanks J.C. !

Wow I completely forgot about those .. duh!
updated the topic!

User avatar
crashfly
Posts: 789
Joined: Thu Mar 13, 2008 11:39 pm
Location: Arkansas, USA

Post by crashfly » Sat Jun 07, 2008 12:57 pm

Hmmm ... the program looks interesting. Does it support inf files?
A mind is like a parachute, it only functions when it is open.
--Anonymous

How to Ask Questions the Smart Way

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Sat Jun 07, 2008 3:18 pm

not sure if WPI is set to recognize *.inf in getting them automatically installed
will look into it ...

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Tue Jun 10, 2008 10:53 am

Executing .inf Files from the Command Line



edit:
P.S.
current to wpi 6.5.1 i've noticed you get some errors with uid's that start with a number, would it be possible to base the uid's on the filename starting with the first letter ?

also how about if theres a descriptions.txt in the same directory as the installers formatted with each line: filename.ext description
or a similar method to automate this part ?

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Wed Jun 11, 2008 4:41 pm

J.C. I have changed how uid's are generated by you're request


the command for the inf type would be
"RunDll32.exe setupapi,InstallHinfSection DefaultInstall 132 somefile.inf,0"
WPI handle !/! ( check the topic i have added other file types )

same thing for *.dll type for advanced users they can have a dll contain reg settings for removing or adding stuff but again it depends if WPI places the correct command for registering it

for descriptions i was looking for something that can export a files properties from any file ... .. still looking

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Thu Jun 12, 2008 12:03 pm

don't know about any file, but assuming you have reshacker in %res% and filename.exe is in the current directory you can:
%res%\ResHacker.exe -extract filename.exe,ver.rc,versioninfo,1,

and you end up with ver.rc a text file containg the information in the version information propreties tab
this will also work for other files who have the Version tab when you right click and choose propreties.

thing is those wpi addons tend to include all sorts of custom silent switchless installers and you'd probably end up with alot of files being decribed as 7-zip SFX module etc.. .

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Thu Jun 12, 2008 12:26 pm

I agree that can't help ...

im now looking on how to add this feature as you had suggested ..

its a bit tricky to accomplish this to my preference: i.e:

for a file
"XP_Codec_Pack-234.exe"
another file holding the description ,will be in the folder *descriptions\*
"XPCodec Pack.txt"

as you can see, *names* are different but the script will need to know how to make the match!

will keep you posted .. ;)

User avatar
crashfly
Posts: 789
Joined: Thu Mar 13, 2008 11:39 pm
Location: Arkansas, USA

Post by crashfly » Thu Jun 12, 2008 2:34 pm

Maybe you should make the preferences have the same name as the installer (except for the extension). That would really prevent a lot of problems that way (and keep the code quite simple).
A mind is like a parachute, it only functions when it is open.
--Anonymous

How to Ask Questions the Smart Way

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Fri Jun 13, 2008 2:01 am

yeah, that would work, basicaly the same as with matching the image files.

my idea though was a bit different, a single file containing all the descriptions (could be xml or simple text whatever's easier to parse).

with this suggested format for a text file:
filename.ext<seperator>description string
2ndfilename.ext<seperator>2nddescription string

with <seperator> as tab or space or whatever, so you basicaly look for the file name in this file and if its there then skip <seperator> and the rest of the line is your description.

you can leverage this by having a global file with common program already in it, and an alias file for the user to tweak.

i.e. if the global file contains a line "Adobe Flash Player<seperator>'description'"
the alias file could contain line "Adobe Flash Player,install_flash_player.exe,afp.exe,fp9.0.24.exe"
and you'd know to match those files to the 'Adobe Flash Player' description in the global file.

you can customize further by including for example variables: $version in the description string read from the alias file:
"Adobe Flash Player,v9.0.24,install_flash_player.exe,afp.exe,fp9.0.24.exe"
and if the user dosen't want to include version info
"Adobe Flash Player,,install_flash_player.exe,afp.exe,fp9.0.24.exe"

with xml it could be alot simpler i.e. :

Code: Select all

<?xml version="1.0" encoding="Windows-1252" ?>
<wpiBee>
    <ApplicationDescriptions>
        <Application Name="Adobe Flash Player" Description="description" Image="Graphics\FP.png">
            <Alias Name="install_flash_player.exe" Version="9.0.24" />
		  </Application>
    </ApplicationDescriptions>
</wpiBee>

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Fri Jun 13, 2008 11:36 am

this is important enough i'll make an expception and double post instead of editing my prior post hope this dosen't bother anyone.

the .js files created by WpiBee contain a line: gcond[pn]=['FileExists(\'C:\Program Files\\\')'];
it should realy be: gcond[pn]=['FileExists(\'%ProgramFiles%\\\')'];

invision a pc set with multi boot or where a user chose to install windows to another drive/partition than the one windows setup will insist should be the boot drive/partition.
you could end up suddenly with wpi ignoring all programs added from an addon created with WpiBee.

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Fri Jun 13, 2008 2:14 pm

with the current I have removed that line all together as i don't believe its needed ...


..almost done

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Fri Jun 13, 2008 3:05 pm

hmm right you are, :)
two things gcond will only grey out the program so you can still check it to be installed seems i've confused it with cond *embarresed*, also i don't recall a wpi addon that didn't have this line though some had the more flexable version with %ProgramFiles%.

maybe we should blame it on wpiBee being so darn popular ;)

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Fri Jun 13, 2008 3:34 pm

http://www.wincert.net/forum/index.php?showtopic=3733


i really want to get all the executables using command parameters in

even in future naming :

infb[pn]= *.inf
dllb[pn]= *.dll

or what ever the author prefers them to be, so i can add that wile am at it ;)

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Fri Jun 13, 2008 4:44 pm

it would be nice if it was added to wpi, but than how would you determine which files belong to the same addon ? (assuming you're using <ext>b[pn] like regb[pn] is used to execute a reg file before the installer is run).

i've noticed in the topic it now reads 'a name for an image must stay unique to its installer in *name*' is it neccessery to for there to be an exact match or just partial as was implied before ? (good thing i haven't started renaming them yet :P i originaly went with exact matches)

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Fri Jun 13, 2008 5:36 pm

the names won't need to be unique any more ...on the coast of having to be limited to *.png (had no nerves to override this this time) ;)

..however
for descriptions it wont matter if its *.txt *.ini .etc
descriptions won't need to be keeping unique names for installers
for each installer one will need to create a file holding its description under descriptions folder ...

for the none supported file types that cant run stand alone like* inf *dll
i could have probably done something ... if was supported ...

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Sat Jun 14, 2008 2:02 am

cool :) ,

it'll make so much easier now, i could just take my current .js files with the description and strip them down. maybe we can make a description collection.

right now i'm working on a regtweaks collection inspired by that file you posted.

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Sat Jun 14, 2008 10:45 am

J.C in the previous update i got the reg part wrong, run it again with the new one .. got it fixed among other stuff..
new! under descriptions folder you can keep descriptions for any apps

feel free to make a collection of descriptions to share and ill pin them to the topic

thanks

updated!
mirror / 8F9BDB64ADEB8956D7592E9885B89F58

J.C.
Posts: 31
Joined: Tue Oct 10, 2006 7:24 am

Post by J.C. » Sat Jun 14, 2008 11:56 am

NO!

Thank you :)

edit: P.S.
i see the strings aren't quoted in description files, i've come up with this batch file:

descriptions.bat

Code: Select all

@echo off
REM removing REM from the next line will extract the .js files for you from 7-Zip archives in the current folder
REM 7z.exe e *.7z *.js
for %%f in (*.js) do for /f "usebackq eol=; tokens=4 delims=[]" %%i in (`findstr "desc" %%f`) do echo %%i > %%~nf.t1
for %%f in (*.t1) do set /p desc%%~nf=<%%f
for /f "usebackq delims==" %%i in (`set desc`) do call set %%i=%%%%i:~1,-2%%%
for /f "usebackq delims==" %%i in (`set desc`) do set SaveFile=%%i.txt & call :save %%%%i%%%
goto :clean

:save
echo %* > %SaveFile:~4%
goto :end

:clean
del *.t1
REM del *.js
REM del *.7z
REM the next lines aren't realy neccessary, but incase you have some wierd setup and replaced set with setx
REM set SaveFile=
REM for /f "usebackq delims==" %%i in (`set desc`) do call set %%i=

:end
it'll extract the description string (unquoted) from exsisting .js files in the current folder and save to txt file with the same name.

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

thanks 5eraph for thread moderations ;)

Post by ENU_user » Thu Jun 26, 2008 3:20 am

thanks to lsrkin! for testing and approving this tool to be fully working

removed the need for external runtimes ,they are all inside now ..

Updated!

User avatar
5eraph
Site Admin
Posts: 4537
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

You're welcome, ENU_user

Post by 5eraph » Thu Jun 26, 2008 3:36 am

;)

Thanks for this, ENU_user. :)

User avatar
pg.manq
Posts: 48
Joined: Thu Jul 19, 2007 1:55 pm

Post by pg.manq » Wed Nov 12, 2008 8:05 pm

Hi, thanks for this app ENU_user. :)

I used it for the first time today. There seems to be an error with the way the Image file name is added.

picf[pn]=['objectdock.png]; ie. without the terminating quote. :wink:

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Wed Nov 12, 2008 9:49 pm

pg.manq YWC

that is quite a big miss-out right there .
is WPI failing to load images because of that ..?
i think not but anyways I do see the cause of it now thanks for the report m8 :)

before I can offer this tiny Fix I got one more feature in the works
and it requires sorting out. so Ill get it done, when I will .. ;)

User avatar
pg.manq
Posts: 48
Joined: Thu Jul 19, 2007 1:55 pm

Post by pg.manq » Thu Nov 13, 2008 5:05 pm

@ENU_user - Hope it didnt sound like i was nitpicking on a trivial issue. Any how I have another small error for you :)

This time its with Folder Naming. DIR within the INSTALL folder (aka Catagories) should not have a space in them. If so they dont get installed.

eg. This is what happened to me. Executables under INSTALL\DISK UTILITIES didnt install.

Guessing it can be solved with the use of Double Quotes in the cmd line. :wink:
OR a disclaimer would do well for now. :)

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Thu Nov 13, 2008 6:41 pm

I must admit, this sounds more like something that needs to be addressed to WPI developers kels or mritter

as I cant see how or why should a category using spaces in [cat] name can cause an install to withdraw ..

if the install is failing because the path shows up with spaces in the config file but the file does happen to exists in the right location after integrating ... then this is something that needs to be corrected in WPI . (provided the addon was built correctly with Bee and the folder is present inside with the correct installer file .) otherwise:

if it isn't there. by will, ill get it fixed .. :) (now where did I leave that disclaimer ) looking .. ;)

User avatar
pg.manq
Posts: 48
Joined: Thu Jul 19, 2007 1:55 pm

Post by pg.manq » Fri Nov 14, 2008 3:15 pm

I guess i was too brief with my explaination of the problem... :|
ENU_user wrote: if the install is failing because the path shows up with spaces in the config file but the file does happen to exists in the right location after integrating ... then this is something that needs to be corrected in WPI . (provided the addon was built correctly with Bee and the folder is present inside with the correct installer file .)
Since the PATH in the Config file is infact a "command line" its important to enclose paths with spaces in double quotes ("). Thats something WPI does, but WPIBee hasnt incorported yet. Following the rules of cmd ---

eg: Config line WPIBee generated ----- In Orange is the path
cmd1[pn]=['%wpipath%\\install\\Disk Utilities\\DVDDecrypter_3.5.4.0.exe']; <---- FAILS to Install

What it should look like -----
cmd1[pn]=['"%wpipath%\\install\\Disk Utilities\\DVDDecrypter_3.5.4.0.exe"'];

This particular installer was a silent installer. If at all it had a switch say "/silent" then the line would look as follows
cmd1[pn]=['"%wpipath%\\install\\Disk Utilities\\DVDDecrypter_3.5.4.0.exe" /silent'];

And for an MSI installer
cmd1[pn]=['msiexec.exe /i "%wpipath%\\Install\\Mobile Phone Apps\\activesync4.5.msi" /qb'];

Im sure this explanation shouldve clarified what the issue was. :)

As far as the Disclaimer is concerned, u could ask Users to abstain from using spaces in the names of subfolders under the "install" Directory used by WPIBee. Untill the next update atleast. :wink:

User avatar
ENU_user
Posts: 1253
Joined: Wed Jan 25, 2006 1:42 pm

Post by ENU_user » Fri Nov 14, 2008 4:23 pm

thanks for clarifying this and expanding with full syntax examples ..I didn't even imagine that this could be an actual issue lol

OK will look at all of this soon enough so i can get this updated for u2 ;)

thanks again!

User avatar
pg.manq
Posts: 48
Joined: Thu Jul 19, 2007 1:55 pm

Post by pg.manq » Fri Nov 14, 2008 6:40 pm

Thank you for a very handy app. looking forward to the next release. :)

Locked