Currently I have a VBScript 'application' for support to send to clients to run, and then the client sends back an HTML file with the results. To put it into perspective, the output is similar in nature to Syscomp.exe from Absolute Dynamics except mine is a single .vbs file and there is no 'comparison' feature.
The problem: requirements for this support tool are constantly changing and its scope/purpose is getting larger - too large, I am finding, for VBScript to be the right tool anymore. Ideally - my new tool would have a mechanism for being customized. For example, instead of me having to hard-code all of the requirements / what to look for, there could be a configuration file such as an App.config, or better yet, an XML file with my own markup schema, which can be shipped as part of the application on a per-client needs basis. Note: I require "no installation" because this will constantly be changing, and an installer will make it much less agile; we're not going to ask clients to install every time we send this out.
my desired solution: I need to move to a more general purpose platform. .Net is ideal because we're already a .Net shop. Although if with .Net I cannot come up with a solution to distribute in the same manner as I already am with the current VBScript (a single entity), then I will consider other general purpose programming frameworks if they are mentioned.
What I have tried:
DotNetZip, thanks to Cheeso's help on this SO question: Running a .Net application from a compressed “zip” file. I was able to use this to ship a .Net EXE with supporting DLL's and an App.config, all wrapped up in a self-extracting ZIP. Unfortunately, this doesn't work in Windows XP, unless I'm missing something. EDIT: confirmed this is limitation of Windows XP and Windows Vista, not of DotNetZip. I need my solution to work on XP (many clients have XP or farms of Windows 2003 Server)
7Zip - does not meet my needs because I cannot add a .config to a .7z archive after I have "built" my solution. I was able to do add files to SFX's created in DotNetZip just by renaming it to ".zip", adding the new .config, then removing the .zip extension.
NBox will not work because the packing of any config file (e.g. app.config) would need to be part of my build process. I need a config that I can simply 'drop in' after/outside of the build process at any point and have that be part of the end product that gets shipped
Coffee Cup's Zip Wizzard Does not have a way to unpack the files without user intervention. Also doesn't allow to run an EXE post-unpack
Zip Installer by NirSoft. Does not meet my requirements because it still prompts the end user where to install the files.
ZIP 2 Secure EXE. Unfortunately, this didn't work out either, although I cannot recall what the shortcoming was
NAR. this didn't work because it requires an installation to be run. Other than that, it probably would work out.
the questions:
- Is it possible, given my requirements? If so, where do I start e.g. with a third-party such as one mentioned above, or maybe one I missed?
- Has anyone encountered a similar situation that I'm in, but chose a different route other than a single file/entity application, and would like to share?
Requirements:
- must be a single entity (e.g. EXE, or ZIP)
- must be able to support at least one configuration file, supporting DLL's, etc. A 'robust' application. Edit: for example, after my code is built, it can be zipped as a Self Extracting ZIP. Anyone can 'customize' it via an XML config, then rename the .exe to .zip, drop in their config, and send it along.
- Must work in XP and forward. Edit: We assume .Net runtime has been installed (v3.5 at least)