Tom Muck

Alpha Dog Blues Band
Home page
All articles
All Extensions | Extension News | Extension FAQs | Customer Login
Books authored or co-authored by Tom Muck
Extensions, books, and other products | Customer Login
Your current cart contents
Tom-Muck.com Blog | CMXTraneous Blog | Flash Remoting Blog
About the site

Blog

Tom Muck's BlogTom Muck's Blog

News and Views

Dreamweaver extension virus?

Wednesday, March 16, 2005 8:50:18 AM

Many users have problems with rogue extensions, bad extensions, or extensions that have been uninstalled improperly. Dreamweaver's Extension Manager is not entirely reliable when installing/uninstalling extensions. This is because of the way that modern operating systems work with multiple users, and because Macromedia, like other software companies are forced to comply with a multi-user configuration. When you run Dreamweaver, you can be logged onto the operating system as yourself, the computer Administrator, or another user. When you install an extension, the files are not installed to the main program directory, as they were in the past with Dreamweaver 4 and earlier. They are installed in the local user directory, or in the All Users directory. Danilo posted about the Dreamweaver configuration folder locations in a previous entry at CMXtraneous.

One of the major problems that has plagued extension developers from the beginning is when a rogue extension developer overwrites a Dreamweaver system file, or any Dreamweaver Configuration folder file. For example, some extension developers try to add additional functionality to the Dreamweaver Recordset. Instead of creating their own version of the Recordset files (such as Recordset.htm and Recordset.js), they modify the existing Dreamweaver files. That works great if this is the only extension the user will ever install. If the user wants to install an extension from another developer, however, this could severely break the way that Dreamweaver works, because expected functionality might not be there or might act differently. Additionally, if two rogue extension developers overwrite the same file, one of them is out of luck because the second extension overwrites the first extension.

Make no mistake, when a Dreamweaver configuration file is overwritten by an extension developer, it is the equivalent of a virus, a spyware, or other intrusive worm. The installation is now corrupt.

Additionally, some extension developers are including a directive in the .mxi file that creates the extension package, putting a systemfile="true" directive for each system file that they overwrite. This causes problems as well, because when you uninstall the rogue extension, the bad system file is left in your Dreamweaver installation. The effect of this is that your Dreamweaver installation is corrupted. Dreamweaver is using the corrupted file rather than the file that Macromedia created.

Another problem exists: when Macromedia comes out with new versions of Dreamweaver, these rogue extensions are still being distributed, and are being used by users. Let's say, for example, that a new version of Dreamweaver has to change the Recordset.js file in order to work with some new functionality. A user installs an extension that overwrites this file using a version from the last version of Dreamweaver. The program is now broken with no way to recover other than deleting the local All Users or the local user folder, or just making it easy on yourself and reinstalling Dreamweaver.

More problems: If a Dreamweaver user decides he wants to modify a file in the Configuration folder, if the file has been overwritten by an extension developer, the user's changes are not respected.

An additional note: when I say that the file is "overwritten", it's not entirely accurate. In a modern operating system, the files are not overwritten in the main Program Files directory (Application directory on the Mac). The files stored in the All Users supercede the files stored in the Program Files directory. In other words, if Dreamweaver requires a Recordset.js file to run, the file will remain untouched in the Program Files directory, but a new version of the file is stored by the Extension Manager in All Users. However, to the uninformed user, this is the equivalent of a corrupt installation. The typical user does not know that there is a special hidden directory that contains rogue extension files.

What to do about this? Well, the first and most important step is to convince these rogue extension developers that what they are doing is harming the community. In their overzealous approach to adding functionality to Dreamweaver, they are basically spoiling the program for other extension developers, and setting the average Dreamweaver user up for a corrupted installation full of JavaScript errors every time they want to open a file. Secondly, Macromedia should step up to the plate and disallow extensions to be downloadable from the Exchange if the extension modifies core Dreamweaver configuration files. Lastly, users should write to extension developers that do this and demand that they stop.

It is a political issue, unfortunately. The extension developers who do this (I'm not naming names) insist they are trying to make Dreamweaver better. Some of us extension developers who have been around a while have always made an effort to extend Dreamweaver without ruining it for the next guy, though. Sadly, if it keeps up, more extension developers will do it and before you know it every extension you install will overwrite some other guy's file, and no extensions will work. What a mess that will be. . . .

I issue a challenge to all Dreamweaver extension developers to stop this practice. It's already late, but we can minimize the damage going into the future. Extension development has come a long way since the early days of Dreamweaver, but if we can't develop extensions in a responsible way, it is going to impact the way that Dreamweaver users view extensions.

What to do if you have a corrupt installation? The first thing you should try is uninstalling the extension. Of course, that doesn't work always because of reasons I've stated. If it doesn't work, find the local Configuration folders mentioned above (not the main Program Files directory) and rename them or delete them. This will completely remove all extensions so that your Dreamweaver installation will be fresh again. Alternatively, reinstalling Dreamweaver should do this as well.

Cross-posted at CMXtraneous

Category tags: Dreamweaver

Before posting comments or trackbacks, please read the posting policy.

Full Blog Calendar

Pay me securely with your Visa, MasterCard, Discover, or American Express card through PayPal!
Pay me securely with your Visa, MasterCard, Discover, or American Express card through PayPal!
About | Privacy Policy | Contact | License Agreement | ©2002-2024 Tom Muck | Dreamweaver Extensions