Simplified overview how to make a helper tool using s3pi - updated Jan 15th 2012 by Inge
• A helper is a standalone tool that can open resources as they are exported from a package - long crypic names and all. At minimum it must be able to be opened by being called from another application (eg s3pe) with the filename of the resource as a parameter. But you can enhance your tool if you wish, so that it can be opened in other ways and used for other roles.
• The interface between s3pe and your app is a .helper text file, which you edit to call your app in the appropriate way and provide with your tool. The user may have to edit that if they install somewhere you did not forsee.
• The helper should include all library dlls it relies on. It should not rely on finding the dlls that are installed with the user's copy of s3pe. This is so that if the user has an older or newer version of s3pe than the one you had when you wrote your tool, they won't end up with compatibility problems trying to use your tool. Your tool needs to have access to the version of the dlls YOU compiled it with.
• A helper app can be installed in two different ways. It can either be totally outside the s3pe folder like any external program, or it can live under the /Helpers folder in s3pe, inside its own subfolder along with its own dlls, with only its .helper textfile directly under /Helpers
The difference in concept between a helper and a wrapper
A wrapper should be as dumb as possible and not hide or rearrange any of the data in a resource, even if we do not know what it all represents, or if it is stored in a strange order. A helper on the other hand can display the resource contents in a user-friendly way, prettied up, and bits hidden if they might confuse the user.
How to make
• Download latest s3pi library from SourceForge. Unpack into folder somewhere your Visual Studio can access.
• Begin your C# solution
• As you need to use any s3pi dll, add it to your solution references. This will cause it to be added to your solution's bin folder.
• Any s3pi dlls in your bin/Release folder should be included with what you publish. You should not design your tool so it has to use the s3pi dlls in your user's s3pe folder.
• The library-specific help is available in the s3pi binary download (s3pi.chm) and online at http://peter.drealm.info/Help/Index.html The documentation of methods is not very detailed so you are welcome to ask specific questions in our chat or forum.
• Support for writing your .helper file can be found in your installed s3pe/Helpfiles folder, called Helpers.txt