6. McAfee Customer support


So my setup worked quite right, but I still had a problem with the random freeze problem. I decided to contact McAfee Customer Support once more to try to get a fix for this. In the end, McAfee didn't fix my problem. They stated they never heard of that problem before, although I communicated with one of their customers who had the same problem. We came down to figuring out that McAfee would randomly freeze on the execution of any instance of setup.exe (MS-Office, Netscape or... McAfee). But I still want to give high marks for the service McAfee provided with my problem. Customer support if often a issue when it comes to evaluating a company, many being shortstaffed to answer phone lines, resulting on long waiting time, other relying only on their web sites to provide any support. I had to deal with customer support departments before with other companies, and these problems would show up at times, and with varying results. But this time, even if McAfee didn't know why I had this problem, they said they tried to reproduce the same problem. That's ok, even I couldn't reproduce the dang thing at will! But here's the icing on the cake, after a few e-mails and phone calls on this, they sent me their ISeamLess scripting tool. Now that was fun. ISeamLess was a scripting language, similar in appearance to C or Pascal (but much simpler). It contains fewer commands, but useful ones indeed. Mostly file handling functions (copy, delete,...), and easy access to system variables (%tempdir%,...). An ISeamLess script is actually made out of several breakpoints, corresponding to the various steps of the installation process (PreInitial(), Prelicense(), PostLicense()...). So you could decide what action (display a message, copy a file, change a registry setting) at the precise moment you want it to happen in the installation process. Once you've been fiddling a while with McAfee's configuration file (which isn't that complicated, much like a .ini file), ISeamLess scripting was easy as 1, 2, 3. Once you made your script, you had to "compile" it, which produced a .iss file if my memory is correct. All you had to do was to include the .iss file in the installation directory, and run setup -s. The rest was automatic. Here is a sample, from the ISeamless documentation:

PreInitial()
{
// VariableValue( // Uncomment if you want the debug back
// "NCCONFIGDEBUG",
// "TRUE" );
}

PreLicense()
{
/* The next instruction extracts the licensing agreement from a zip file located in the same directory as the install. This way, the custom agreement is displayed in the setup instead of the standard one */
CopyFile( "%ISSRCDIR%License.zip",
"LICENSE.TXT",
"",
"",
"%ISSUPPORTDIR%",
0 );
}

PostLicense()
{
// You don't have to do this but it was just to show how to erase a file
DeleteFile( "LICENSE.TXT",
"%ISSUPPORTDIR%",
0 );

That simplified a lot my batch file process, making the setup, the configuration updates and registry updates in one sweep, taking care of updating the .dat files on next login (.dat files included in upgrade releases were often one month behind than actual .dat file), which is not so bad. I tried to use this to issue a command that would disable the live scanner first thing in the process, but the bug made setup run awfully slow (about an hour for doing what should take five minutes at most, hence we thought they were frozen) even before it could be disabled. I was resigned, I had to disable it from the batch file prior to the execution of setup.exe. Some might say "So what, you got it working right?" Right. But I would have loved a fix for this because it caused me other problems, as I had to install a lot of software. I know that anti-virus documentation strongly suggest disabling their software before installing programs on a system. But I had installed many softwares (I insist on MANY) in the past, with antivirus loaded and fully active with no problem. Think of it in terms of hundreds and hundreds of time that I have to sit on a PC just to launch an installation program. I want to be relieved of the pain of having to disable the anti-virus program all the time, or be sorry about it if I forgot. And this is in my humble opinion how a good anti-virus software should work. If I recall correctly, the problem was gone with 4.x.

When it became available, McAfee sent me an updated version of ISeamLess scripting, more powerful. Now this is something that could be useful if this could work with all setup.exe out there. In the hands of site administrators, this is the solution to remote distribution software, no need for config-o-matic, wininstall and the likes who costs a small fortune to acquire and often produces flaky results. But it could also be a very dangerous weapon if in the wrong hands. As you can see from the example above, one can easily delete files with ISeamLess. Imagine a script-kiddie who picks up any piece of shareware on the net, unzips it, adds a maliciously crafted .iss file, and re-zips the package in a self-extracting .exe, then distributes through on the internet(ftp upload, mail, newsgroup, web page, ...). Ouch. But still, it would be nice to have such a tool available for all software. But to efficiently use it, one condition must apply: know your software from the inside out. Security could be improved by adding built-in file-trace, allowing an IseamLess script to delete only files it has created itself. I have not tried new versions of this tool in a while, and I don't know if McAfee still provides it, but I really had fun with this gimmick.

5. Batch, batch and more batch...
7. My Web

Table of contents