A program for producing PAD (Portable Application Description) XML (extensible Markup Language) program descriptor files. These are used to describe shareware. This is the
program I use for producing all the PADs
posted on this website. The latest version is 3.1.1.50 Last revised/verified: 2011-12-03
PADGen is a simple fill in the blanks application, allowing you to describe your program is as many languages
as you want. It handles all the Vista variants. If you have a Microsoft Authenticode
certificate, your can sign your PAD files. It import/exports PAD files, and exports HTML (Hypertext Markup Language). You only have to fill
in your company info once. To handle a new product you would load up a similar product’s PAD, modify it and
save it under a new name. There is nothing similar to Java inheritance to group similar products by theme and
variation. There is no particular place to record the JVM (Java Virtual Machine) required. You do much of the work by selecting
from drop-down boxes.
PADGen Files
In W2K, PADGen stores
its internal information in
C:\Documents and Settings\%username%\My Documents\PADGen\canadian_mind_products.
C:\Documents and Settings\%username%\Application Data\PADGen\PADGen.ini
is a traditional *.ini file you can edit if you are feeling adventurous. It contains the
list of *.pml files, the names they have on the menu, and the names of the most recently
saves *.htm and *.xml exports. I could find nothing in the
registry or in PADGen.ini to control where it puts its files. It does record where it
last put each PAD file in PADGen.ini.
On Vista/W7-32/W7-64, PADGen stores its information in C:\Users\%username%\AppData\Roaming\PADGen\canadian_mind_products Where canadian_mind_products is my company. Sometimes it puts them in C:\Users\
%username%\Documents\PADGen\canadian_mind_products. If files disappear, it can be because
PADGen is looking in the wrong place. You can use the File menu to navigate to where they are. C:\Users\ %username%\AppData\Roaming\PADGen\PADGen.ini contains the overall
configuration.
PADGen stores the detail information in separate xml *.cml (for company) and
*.pml (for programs). The *.xml PAD files exports have both
company and program fields. You can cheat and edit these *.cml and *.pml files directly to make bulk changes.
PADGen stores the PAD spec (which includes the Regexes to describe what is allowable in each field in
Program Files\PADGen\pad_spec.xml.
Tips
- If you are restoring PADGen’s files, and PADGen is ignoring them, import one PAD file to prime the
pump. Also edit PADGen.ini to make sure it is pointing the correct directories.
- Before you export your PAD, you must hit Verify and you get a list of errors in
your entire PAD. You don’t get any feedback on errors as you type.
- When you export a PAD, it will call it pad.xml or even more
confusingly the name of the last PAD you saved, not someprogram.xml. It is up to you
to type the correct program name. Imagine a word processor that by default saved your work overwriting the of
the previous document your were editing! What were they thinking! Perhaps they just wanted to allow you
flexibility in naming the PAD files. To do that properly there should be a local PAD file name field in the
program section and a local pad directory name in the company section. These fields would not be exported.
- It makes you manually remove all trailing line feeds on your text and it insists you
manually remove embedded newlines in your text.
- The HTML summaries it generates are in x-UTF-16LE-BOM (Unicode
16 little endian marked). Further they are just fragments designed to be inserted in a page. The HTML summaries
don’t include the <html> and <body>
tags. Read up on encoding and BOM (Byte Order Mark)s
to learn what you can do with
them.
- Free, sponsored by ASP (Association of Shareware Professionals).
Bugs
PADGen generates *.html files that are crawling with syntax errors. The *.xml files are reasonably OK. To fix the problems you must do three things:
- Replace Program Files\PADGen\PADGen.tml with the one posted below.
- Convert the 16-bit unicode to ASCII (American Standard Code for Information Interchange) with:
native2ascii.exe -encoding x-UTF-16LE-BOM xxx.htm xxx.html
- Either verify the results with HTML Validator and manually fix the errors or use the program FixPADGen to do it for you.
Replacement PADGen.html
The key is to replace the template Program Files\PADGen\PADGen.tml
FixPADGen Tidy Program
I wrote this little program to fine tune the resulting expanded file.
I wrote some other programs to get around the limitations of PADGen. This was very easy to do since PADGen
stores its company and application data in ordinary XML files.
- Bulk generation of all the XML and HTML files. Without this, any change to the company information or bulk
updates requires hours of tedious and error-prone manual regeneration. Bulk regeneration also avoids the bug in
PADGen where it often saves PADs
to wrong filenames, clobbering unrelated PADs.
- Automatic insertion of PAD extensions such as PADmap, PADRING, and NewsFeed.
- Bulk verification of all the PAD files for consistency with non-PAD data.
- Automatic calculation of program size fields.