How to Create an Addon V2.0

Discuss & post Update Pack addons here.
Post Reply
User avatar
DisabledTrucker
Posts: 822
Joined: Tue Feb 22, 2005 6:14 pm
Location: Country of Mental on the Planet Trucker in the MidnightHunter Galaxy.
Contact:

How to Create an Addon V2.0

Post by DisabledTrucker » Wed Jan 18, 2006 9:31 pm

FINALLY RELEASED! I have finally put this together for everyone, I hope it's accurate, if not let me know, please inform me of how to correct it or do so yourself if your a mod... ;)

Attention: DO NOT ATTEMPT TO ACTUALLY USE THE PACK CREATED IN THESE INSTRUCTIONS IT WILL ONLY CAUSE A PROBLEM WITH YOUR WINDOWS INSTALL!

Though these instructions are geared towards making a theme pack addon they can also be used for making an addon for a program as well, but you'll need to know how to extract the .exe files and where the placements of those file go before you can do one for an exe file.

Before you get started make sure you have the following files:
  • 1. upx.exe in your system32 folder
    2. modifyPE.exe in your system32 folder (Search for it.)
    3. makecab.exe in your system32 folder (Should already be there it's part of Windows.)
    4. Either IZArc or another cabinet maker utility to make the actual .cab files with. 7zip won't create the .cab files itself.
    5. Editpad/Notepad/Word/Wordpad to create the .ini files with.
    6. Folder created to hold your theme files while your working on the pack. For this example we'll use C:\User_Addon_BlissTheme to make things easier to follow. Use this as your working directory and place all the files your going to use for the pack in this, as these instructions assume that's the folder your working in.
    Remember to rename the folder using your username and the actual name of the theme pack but make sure that "Addon" is a part of the full name.
Now that you have the absolute necessary files installed let's get on with the directions:

NOTE: For the purposes of this article, I'm going to assume that you know how/where to get the files for your theme/addon, and that you've also copied them to the working folder mentioned above. If not you might as well forget even attempting this.

Ok, first thing you need to do is familiarise yourself with the post Defining Entries.ini

The most important portions of that that you will need to know is [dosnet_files], [txtsetup_dirs], and the [txtsetup_files] sections.

Then you need to check with Txtsetup.sif in your i386 folder of your O/S disk, for directory codes to see if the place your going to place your addon has been used yet or not and if not create yours using the ones there as an example. Do not use a conflicting number though, for example you don't want to put your theme in "68 = Resources\Themes\Luna"!

UPDATE: This will tell you how to do an addon without having to use extra directory codes in TXTSETUP.SIF to place your files, so the above most likely will not apply, as you'll only normally need what's in the entries file shown below.

You'll also want to look at this thread for the Environment Variables that you'll need for making the Bliss.inf file with, see below for more information on this file. These codes are different than the ones you'll use for placing files in your TXTSETUP.SIF file so make sure not to confuse them. (dgelwin has a list of some of them and better explains some of them further down that page.)

Once you're familiar with that, you need to create the entries.ini file which will define where everything in your pack is going. For this example our entries.ini file will be called "Entries_User_BlissTheme.ini" and our install file will be called Bliss.inf and we'll go ahead and create a notepad file in our working folder using this naming convention for these examples. Of course you want to rename the entries file using your username and the actual name of the theme, make sure that Entries.ini is in the beginning of the name of it though. Do the same for the installation file too, for example: entries_DT_mytheme.ini and Bliss.inf

Go ahead and create yourself a second folder in your working folder, in this case we'll call ours Bliss. In this "Bliss" folder we need to put all our files that we're installing, see "[SourceDisksFiles]" below for which files I'm referring to here.

The important parts for the RyanVM Integrator, are only the ones listed above.
if you want to put comments in it, start the comments off with a semi-colon, ";".

For example if you wanted to integrate the already integrated Luna theme into your installation, you would use:

Code: Select all

;*******************************************************
;Entries_User_BlissTheme.ini
;created 12/31/9999
;This is an example of a Luna Theme Pack
;Don't attempt to actually create this for WindowsXP
;as it will cause conflicts with it.
;*******************************************************

[general]
builddate   =01/01/0001
description =User's Bliss Theme Addon Pack
language    =English
title       =Bliss Theme AddonPack
version     =1.0
website     =http://www.ryanvm.net/forum/

[filenames]
BlissCab = Bliss.cab
BlissyInf = Blissy.inf
;Note the differences in the name above, this is so that Windows doesn't try and confuse them.

[sysoc]
MyBlissy=ocgen.dll,OcEntry,%BlissyInf%,HIDE,7

[dosnet_files]
d1,%BlissCab%
d1,%BlissyInf%

[txtsetup_files]
%BlissCab% = 100,,,,,,_x,,3,3
%BlissyInf% = 100,,,,,,,20,0,0
Now save that file as "entries_User_BlissTheme.ini" in your working folder. (All you should have to do at this point is use [ctrl]+ to save it if you're following these directions.) Now that you're done with that you can close that file.

Now we need to create our Blissy.inf file, the following instructions will show you how to do it:

Code: Select all

;*******************************************************
;Blissy.inf
;created 12/31/9999
;This is an example of a Luna Theme Pack
;Don't attempt to actually create this for WindowsXP
;as it will cause conflicts with it.
;*******************************************************

signature="$CHICAGO$"

[DefaultInstall]
OptionDesc = "Bliss Theme Pack"
Tip	   = "Luna"
Modes	   = 0,1,2,3
CopyFiles  = font,theme.main,web.wallpaper,theme.bliss,theme.normal,theme.bliss2,theme.bliss3

[Optional Components]
Ferrari

[Ferrari]
OptionDesc = "Bliss Theme Pack"
Tip	   = "Luna"
Modes	     = 0,1,2,3
CopyFiles  = font,theme.main,web.wallpaper,theme.bliss,theme.normal,theme.bliss2,theme.bliss3

[SourceDisksNames.x86]
1="MainProgramFiles","Ferrari.cab",,"i386"

[DestinationDirs]
;Font Directory code
font = 20
;theme directory code
theme.main = 16440,%theme%
web.wallpaper = 10,"%wallpaper%"
;note directory code for %SystemRoot% above = "10" before we place into "Web\Wallpaper".
theme.Bliss = 16440,"%Bliss%"
theme.normal = 16440,"%normal%"
theme.Shell2 = 16440,"%Shell2%"
theme.Shell3 = 16440,"%Shell3%"

[SourceDisksFiles]
10646.ttf=1
tahoma.ttf=1
aloha.ttf=1
frnknstn.ttf=1
vistabls.jpg=1
Bliss.jpg=1
Aero.jpg=1
VistaXP.jpg=1
luna.theme=1
luna.msstyles=1
Bshell.dll=1
Gshell.dll=1
Sshell.dll=1

[font]
10646.ttf
tahoma.ttf
aloha.ttf
"Frankenstien.ttf",frnknstn.ttf
;Note above how we change the names

[theme.main]
luna.theme

[web.wallpaper]
Bliss.jpg
Aero.jpg
VistaXP.jpg
"Vista Bliss.jpg",vistabls.jpg
;Again note above how to do name changes

[theme.bliss]
luna.msstyles

[theme.normal]
shellstyle.dll,Bshell.dll

[theme.Shell2]
shellstyle.dll,Gshell.dll

[theme.Shell3]
shellstyle.dll,Sshell.dll

[Strings]
wallpaper    = "web\Wallpaper"
Bliss        = "Themes\Luna"
normal       = "Themes\Luna\Shell\NormalColor"
Shell2       = "Themes\Luna\Shell\Homestead"
Shell3       = "Themes\Luna\Shell\Metallic"
;Note above use unique sub-folders for your themes it's easier to keep track of them when you have several that are the similar when you do them this way.
Now save that file as "Bliss.inf" in your working folder. (All you should have to do at this point is use [ctrl]+ to save it if you're following these directions.) Now that you're done with that you can close that file.
Make note that all files need to be named in the 8.3 DOS naming convention that are going to be included on the disk. See the example for the Frankenstien.ttf and Vista Bliss.jpg files above. (Of course in this example those files will be cabbed, so it's not really necessary to rename those two files I only did it for an example. If they had been placed in the "User_Addon_BlissTheme" folder then they definately need to be 8.3 names!)

I don't see a need to rename the .the or .mst file using this method so I wont mention it here just leave those two alone. You should run UPX on all your .dll, .exe, .scr and whatever other files it supports prior to running the commands below so as to make sure you're getting the best compression you can possibly get out of them when you cab them up.

Once you've done that, then you need to use the following commands to make all your files ready to go onto your slipstreamed disk:

Code: Select all

modifype.exe Bshell.dll -c
modifype.exe Gshell.dll -c
modifype.exe Sshell.dll -c
in your bliss folder and

Code: Select all

makecab /D CompressionType=LZX /D CompressionMemory=21 Bliss.inf
in your working folder. Go ahead and delete the Bliss.inf after you're sure you've got it right and compressed it using the command above.

Note there that the only files that need to be modifyPE'd are the .dll files in our example above but make sure you do it for all of them that is supported by the app. Also, note that the entries*.ini file doesn't get makecab'd at all it must remain uncompressed. The *.inf file on the other hand does so make sure you do that one.

Once you've modifyPE'd and makecab'd all the files you can move or delete the originals as you no longer need or want them in your working folders. Leave the entries*.ini and Bliss.inf files in the folder though, they will be needed! Make sure you do not delete the "Bliss" folder either at this point because you first have to cab the files inside that folder up, which brings me to my next step.

Now that you have everything almost done, you need to use your cabinet file maker software, (IZArc for example,) to compress all the files and make a .cab file out of the Bliss folder and the working directory, how you do this is to click on an empty area of your working folder, (and if you have IZArc properly installed,) use [ctrl]+[a] to select all the files, then right click on one of them and look for IZArc's submenu and tell it to make those files a .cab file. (For this example we'll use "Bliss.cab" and "User_Addon_BlissTheme.cab".) Do the Bliss.cab folder first then the User_Addon_BlissTheme.cab after you're sure you have the entries*.ini file, your Blissy.inf and your Bliss.cab inside your main working folder. If you did it like I said you'll have to move/copy your Bliss.cab out of the "Bliss" folder first, then delete that folder and it's contents you no longer need it.

Now test the pack yourself, using preferrably a clean install of Windows with just this pack slipstreamed first, to make sure it works. If you have a virtual machine you can also use that, but keep in mind even if you don't see errors with your pack, others may. Not everyone's going to install the pack the same way and the fact that others may have errors with your pack holds true no matter how many times or even how you have tested it yourself.

Once your done with that look for somewhere to host it, if you don't have a place already, (check with your ISP first, also RyanVM has posted a thread or two on this,) and then go to the forum and post a link to it. (It's my preference that until one of the moderators make the pack a [Release] that you either don't put that yourself or put [Beta] in front of it in the subject field, at least until others have had the chance to reply and let you know that it's working or not, as the case may be. (Also in my opinion, the moderators shouldn't make them a [Release] until they themselves have all had the oppertunity to use the packs and make sure that they work for them, just my opinion though. Could help with the confusions such as occured with my pack.) Make sure you give as many details you have about your pack in the main entry of the thread so that everyone knows what they are getting. If nothing else post a link to where they can go and look at the original work, if you can't or don't have screenshots of your own posted somewhere. Also make sure you have at least the file size of the pack, though it's preferred, if you know how to, to use a MD5/Sha1 hash for it and have that information posted as well. You can use the HashTab addon that Kel made to do them with. See his post for more information on this.


******************************************************************************************
If I've left any information out or someone else would like to contribute to this, please let me know, (via PM because I'm hoping this will be locked and/or at least stickied,) and I'll add your instructions to it as well. Especially if you've done something with one of your packs, like make a seperate .cab file inside the .cab file to house your files with, or would like to share the information on how you made the theme file a default. I'll gladly add those to this Tutorial.

I've got to give thanks to Xable, dgelwin, Kel, and others, especially Siginet, (who's Farrari Theme I copied to make this tutorial with,) for the actual how to, because if it weren't for these fine folks I'd never have learnt how to do them myself. If you need to look at more works to see how to do something I reccomend highly you look at theirs first because they are the "experts" at this stuff.

~DisabledTrucker~
Last edited by DisabledTrucker on Wed Feb 22, 2006 6:13 am, edited 4 times in total.
Matthew 22:36-40

I have some gmail invites left, if you'd like one IM me and let me know.

[url=mms://wmc1.liquidviewer.net/WNOR]WNOR FM-99[/url] The best station in the world!

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

Post by Siginet » Thu Jan 19, 2006 12:22 am

Thanks a lot for stepping up to the plate and starting some good tutorials DT! :D
Image
--Siginet--

Techware
Your Virtual Technician
Computer Management Software

User avatar
DisabledTrucker
Posts: 822
Joined: Tue Feb 22, 2005 6:14 pm
Location: Country of Mental on the Planet Trucker in the MidnightHunter Galaxy.
Contact:

Post by DisabledTrucker » Thu Jan 19, 2006 5:31 am

Glad to be of assistance, it's my way of donating to this fine site. I can't affored to send Ryan donations, but I can afford to contribute to the forums, so this is my way of donating.

I'm glad that they are good enough that the average person can use them, I've heard already that a couple of people used my previous one, which is still floating around by the way, to create their first pack with, and since there was such a demand for this one I decided I would do it too, it just took me some time to gather all the information I needed to do it. Now that it's done, I hope it's as useful to people as the first one was... Maybe I can get them stickied or at least in the Addon Packs threads a link to them for people to find easier.
Matthew 22:36-40

I have some gmail invites left, if you'd like one IM me and let me know.

[url=mms://wmc1.liquidviewer.net/WNOR]WNOR FM-99[/url] The best station in the world!

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

Post by Siginet » Thu Jan 19, 2006 1:56 pm

I think we should make a tutorials thread that links to all of the important threads that deal with creating Addons/UpdatePacks... and sticky it.
Image
--Siginet--

Techware
Your Virtual Technician
Computer Management Software

Xable
Posts: 981
Joined: Tue May 03, 2005 6:38 pm
Contact:

Post by Xable » Thu Jan 19, 2006 2:59 pm

I think we should load up the wiki... only thing putting me of is lack of knowledge of writing wiki`s.

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

Post by Siginet » Thu Jan 19, 2006 3:29 pm

Same here.
Image
--Siginet--

Techware
Your Virtual Technician
Computer Management Software

User avatar
DisabledTrucker
Posts: 822
Joined: Tue Feb 22, 2005 6:14 pm
Location: Country of Mental on the Planet Trucker in the MidnightHunter Galaxy.
Contact:

Post by DisabledTrucker » Thu Jan 19, 2006 3:54 pm

I don't care much for wiki's either, they are too easy to hack and foul up...

But the idea of making a seperate thread and putting tidbits like this into it would be an excellent idea though.
Matthew 22:36-40

I have some gmail invites left, if you'd like one IM me and let me know.

[url=mms://wmc1.liquidviewer.net/WNOR]WNOR FM-99[/url] The best station in the world!

ViVa

Post by ViVa » Thu Jan 19, 2006 4:08 pm

Stickyfie this one? ;p

Xable
Posts: 981
Joined: Tue May 03, 2005 6:38 pm
Contact:

Post by Xable » Thu Jan 19, 2006 5:18 pm

I`m all for guides, don`t get me wrong. Wiki is the way to go i feel. As for it getting fouled up/deleted, hmm very rarely happens i think and i don`t know might be possible to only have specific ppl edit it.

krash56
Posts: 26
Joined: Mon Jan 02, 2006 11:19 pm

Post by krash56 » Thu Feb 16, 2006 10:00 am

Okay, I'm lost already. Where do you get upx.exe?

User avatar
DisabledTrucker
Posts: 822
Joined: Tue Feb 22, 2005 6:14 pm
Location: Country of Mental on the Planet Trucker in the MidnightHunter Galaxy.
Contact:

Post by DisabledTrucker » Wed Feb 22, 2006 5:12 am

UPX Site.
Matthew 22:36-40

I have some gmail invites left, if you'd like one IM me and let me know.

[url=mms://wmc1.liquidviewer.net/WNOR]WNOR FM-99[/url] The best station in the world!

User avatar
Kelsenellenelvian
Moderator
Posts: 4383
Joined: Tue Nov 30, 2004 8:32 pm
Location: Pocatello, ID
Contact:

Post by Kelsenellenelvian » Wed Feb 22, 2006 6:33 am

Shouldn't this be named "How to create a theme addon"?

User avatar
DisabledTrucker
Posts: 822
Joined: Tue Feb 22, 2005 6:14 pm
Location: Country of Mental on the Planet Trucker in the MidnightHunter Galaxy.
Contact:

Post by DisabledTrucker » Sat Feb 25, 2006 9:27 am

Not necessarily because you can do more than just themes this way, as you yourself know.
Matthew 22:36-40

I have some gmail invites left, if you'd like one IM me and let me know.

[url=mms://wmc1.liquidviewer.net/WNOR]WNOR FM-99[/url] The best station in the world!

User avatar
MrNxDmX
Moderator
Posts: 3112
Joined: Mon Jan 03, 2005 7:33 am

Post by MrNxDmX » Mon Jul 03, 2006 5:54 pm

Thanx for tutorial, but IZArc's site should be http://www.izarc.org/

niche99
Posts: 24
Joined: Sat Aug 05, 2006 6:08 am

Post by niche99 » Sat Aug 05, 2006 6:19 am

Hi,

Some clarification needed.

Given the structure -

Code: Select all

Example_Addon.cab (which contains)
                 ->Entries_Example.ini
                 ->Example.in_
                 ->Example.cab  (which contains)
                              ->Example.exe
                              ->Example.dll
                              ->Example.chm
Q1. Do Example.exe, Example.dll and Example.chm need to be modifyPE'd?
Q2. Do Entries_Example.ini, Example.in_ and Example.cab need to be modifyPE'd?
Q3. Can I use CabPack to make Example.cab and Example_Addon.cab?
Q4. Can I use makecab with no arguments to create Example.in_ and will it work as expected?

Thanks,
niche99

Friends4U
Posts: 138
Joined: Sat Aug 19, 2006 4:51 am

Post by Friends4U » Mon Oct 02, 2006 10:10 am

How does this work with software? where to make reg entries etc... or is there another tutorial for software addons?

Beniled
Posts: 3
Joined: Fri Oct 13, 2006 2:32 pm

Post by Beniled » Fri Oct 13, 2006 2:47 pm

Ok so I am new to this... And as such I am Confused... This tut is about making a Theme addon.. What I want to do is make a software addon... Your tut says that I can use this info to do so.... But I don't see how... You assumed that I knew where to get the files required to make my addon... It would have been helpfull for you to include a link for those of us that don't... It is a good tut to be sure but more so for someone that is familar with the initial processes... Is there a Beginner lvl tut that would be help for someone, like myself, that has just begun with this??

User avatar
ricktendo64
Posts: 3213
Joined: Mon May 22, 2006 12:27 am
Location: Honduras

Post by ricktendo64 » Fri Oct 13, 2006 3:26 pm

Friends4U wrote:How does this work with software? where to make reg entries etc... or is there another tutorial for software addons?
Use Install Watch to monitor the install then browse to the location in Registry and export those RegEntries, use RegFileMerger by XPero to merge more than one regfile, use Reg2Inf to convert them

Download someones addon and learn from them also

Beniled
Posts: 3
Joined: Fri Oct 13, 2006 2:32 pm

Post by Beniled » Fri Oct 13, 2006 4:24 pm

ok so where do I find the files that I need to include in the addon... Like lets say for instance I wanted to make Zone Alarms into an addon... What would be the steps required to do so? Also what would I need to do to say include themes and addons for say Fire Fox into a windows installation? So that when the installation was over windows would have FireFox installed with my themes and addons?

User avatar
ricktendo64
Posts: 3213
Joined: Mon May 22, 2006 12:27 am
Location: Honduras

Post by ricktendo64 » Fri Oct 13, 2006 4:44 pm

One step at a time dude...

You find the files in C:\Program Files... use Tugzip to Archive them (.cab) and look at where they are stored...

Download another addon and look to were its installed and notice how [DestinationDirs] and [Strings] determine where and in which directory the files are put.

Heres a better section for you to learn more... Download the PDF files and look for Goshs Website you will learn allot http://www.ryanvm.net/forum/viewtopic.php?t=1290

Beniled
Posts: 3
Joined: Fri Oct 13, 2006 2:32 pm

Post by Beniled » Sat Oct 14, 2006 11:47 pm

Much Love Ricktendo Thank you

savimakwo
Posts: 1
Joined: Wed Feb 21, 2018 8:27 am
Contact:

Re: How to Create an Addon V2.0

Post by savimakwo » Thu Feb 22, 2018 3:24 am

How you can mantain the perfect addon which can only based on 2.0

Post Reply