Posted Software - Third Party Programs, Useful Websites and Software, Anti-Virus, Anti-Spyware & Desktop Security on Sunday, April 2nd, 2006.
Recent spyware and trojans hide behind Windows’ own protection for open files, while many of the new antivirus, security, and even PC-cleanup programs that are supposed to fix those also leave behind processes and open files. All of those may cause repeated “Access Denied” and “Sharing Violation” errors.
Solving the errors used to involve juggling PID’s from the Windows Task Manager and repeated use of Microsoft’s kill.exe process. Even scripting the kill.exe process at boot or from Safe Mode is common. Here’s a list of utilities to automate the process and make manual cleanups a bit faster.
I’ve always liked SysInternals’ stable and well thought-out tools and here are two great utilities: the freeware Process Explorer and PS Kill. PS Kill adds support for scrubbing networked PCs to kill.exe, while Process Explorer tracks all tied processes, DLLs, and other open files. That makes Process Explorer useful - to find everything you actually want to close and delete. The good interface makes it good even when tossing out PS Kill and using any of the cleanup tools below.
One I like is the freeware MoveOnBoot. Just right-clicking on a file lets you choose to Copy/Move/Delete a file on the PCs next boot. It’s also recommended in “How To Override “Access Denied” and “Sharing Violation” Roadblocks”, along with Unlocker Gotcha. Unlocker Gotacha is also freeware and their interface looks pretty fast. They’ve added a bit of Process Explorer’s functionality, so you just need to right-click a folder and a list of all open/locked files will pop up.
Also take a look at EMCO’s Unlock IT. Instead of adding files to a list and rebooting, Unlock IT integrates the ability to kill processes within the interface and copy, move, or delete related files immediately. Instant gratification is great - and even better when it means not needing to wait through a boot process slowed by too many viruses and trojans.
Posted Service Packs & Hotfixes, Software - Third Party Programs, Windows Desktop Fixes on Saturday, March 11th, 2006.
From Windows 95 to Windows XP & Vista the “Unhandled Exception 0×80040707″ error message, pictured below, typically occurs during the installation or update of PC software. The error code is typically associated with the installation program InstallShield, which software vendors wrap around their own software packages so they can install to Windows without interferring with existing software. The error was typically associated with the paths to Shell folders in Windows (ie: the Desktop, Programs, and Startup Menu folders in a user’s or the “All Users” profiles) - there is a detailed description of changing or recreating these paths at InstallShield’s site.
The 0×80040707 error code has become more common recently, as the Data Execution Prevention (DEP) controls (screenshot link) installed by Windows XP SP2 also interfere with InstallShield’s operations and can block its access to the Windows shell folders mentioned earlier. If your shell folder paths are all correct, the likely culprit of the error is Windows’ DEP and these steps should resolve the issue:
- Find the primary installation file for the program you were installing. If it’s not a single-file installer it’s usually “setup.exe” on a CD, but you can either check the AUTORUN.INF file to see what program it’s calling or dig through the folders on the CD (/bin/, /eng/, and /driver/ are common folders where the true installer program is nested when the setup.exe is just a fancy GUI program).
- Right-click the installation program and select “Run As…”. If it doesn’t show up the then file may not be an executable > start over at step #1 and look for other files.
- Uncheck the “Protect My Computer And Data From Unauthorized Activity” box, this deactivates DEP for this executable and its child processes, and click the “OK” button.
Posted IT Customer Service, Software - Third Party Programs on Sunday, March 5th, 2006.
Always looking for a better way to manage my business’ help desk queue, about two weeks ago I bought a copy of the AxoSoft OnTime 2006 software after a $495 to $5 price cut was posted via Robert Scoble. OnTime is designed as a bug tracking system, but Steve Richard’s OnTime 2006 review discussed how it is completely customizable. Both the interface and data store are so customizable that Steve reworked OnTime to manage his personal tasks according to the “Getting Things Done” organizational system.
For just $5 (current and regular price is $495) the 5-user version of OnTime was worth a test as a replacement to our current mixed system of customized (and fragile) Exchange Forms in a Public folder and the non-customizable and no-longer being updated Intuit Track-It software. Only an hour after purchasing OnTime it was running from our existing SQL Server instance with both several Windows clients and a working web interface installed. The installation process was as simple as it can get without not prompting you for any information. The basic installations of Track-It and FrontRange’s Heat helpdesk software were more far complicated and fragile, and neither of those products’ base versions even included the installtion of a web-based client or reporting system.
Customization of OnTime was equally as impressive as installation. Field names, like “bugs” - in the interface here, can be changed within the program’s interface and persist everywhere (data labels, in reports, even menu names and items). With multiple related data categories I quickly configured the system to track Help Desk calls, ongoing tasks, and a basic KnowledgeBase. All three are displayed separately, but with the Projects tree view setup to match our current Exchange forms heirarcy of the network (ie: desktop-, networking-, server-issues, and their sub-items) we can tie them together and better track resources and the cost/benefit of hardware, patches, etc.
Despite all the benefits I forsee, we haven’t fully implemented OnTime yet. A lot of SQL DTS work is required to migrate data from our current systems and the normal management bureaucracy has raised issues related to documenting, training for the help desk staff (aka: documenting the reporting interface for supervisors), and support (I think many are due to the low cost). …but that’s OK, because despite the “incomplete rollout” the Help Desk technicians are already using OnTime to log and answer new calls - they took to it pretty quickly once I installed OnTime’s email-to-OnTime module. The free add-on automatically imports user support requests from Exchange into the OnTime queue. I also expect AxoSoft’s support to be better and less necessary than the $5 price might indicate to my supervisors. I’m also happy to see that AxoSoft’s Hamid Shojaee has his own blog. It’s a good sign that AxoSoft is bound to be far more responsive to requests and error reports than larger software companies, such as my own experiences with Intuit and FrontRange. The software is already serving our small help desk well and I firmly recommend it, even at the regular 5-user price of $495.
Posted SQL Server, Software - Third Party Programs on Friday, January 20th, 2006.
A recent upgrade to Crystal Reports XI (CRXI) showed, yet again, why I’m never happy with the Crystal Reports system. We’re largely stuck with it though because of its inclusion in so many custom and commercial .NET apps.
Crystal Reports XI - “Failed to retrieve data from the database” when using :
Following the upgrade from Crystal Reports 10 (CR10) to CRXI existing reports ran correctly, but opening some of them to make minor updates yielded fun “Failed to retreive data from the database” errors. Thankfully we’ve waited as long as possible to upgrade from CR10 and there are already hotfixes for CRXI to solve this. The error occurs in the Crystal Reports designer when adding a JDBC table. This error affects both Crystal Reports XI and BusinessObjects Enterprise XI when attached to a MySQL database.
Crystal Reports XI and MyODBC 3.51 - LEFT JOIN Errors:
We’re still using the MyODBC 2.50 (aka: MySQL Connector/ODBC) driver on any machine that runs or designs reports from MySQL-stored data. Why use such an old driver?
Version 3.51 of MyODBC apparently handles LEFT JOIN differently from other ODBC drivers (I’m not saying it’s wrong either, it could be the one driver that handles things according to standards). To fix the problem it’s necessary to change a registry key that changes how Crystal Reports sequences the query in its Query Builder - here is the registry key change to fix LEFT JOIN for Crystal Reports versions 8 - XI. The problem with making this change in the registry is that it happens to break your ability to connect to other databases, including Access and SQL Server, which we also run. While it would be nice to only run one database our vendors have other ideas, so we’re running MyODBC 2.50 - LEFT JOINS work correctly, the registry key doesn’t need to be changed, and we can still see all those other databases.
Additional problems with older versions of Crystal Reports and MyODBC 3.51 driver:
LEFT JOINs aren’t the only errors resolved by MyODBC 2.50. …When Crystal Reports 9 was first released we were already using the MyODBC 3.51 driver to connect to MySQL, but there were a number of issues in CR9 where tables weren’t listed in the designer and positive numbers were returned as negatives. Crystal Reports support was even slower than normal with any results (no excuse, but his was around the time they were acquired by Business Objects). After mistakenly using an older image to rebuild a development box we noticed that the MyODBC 2.50 driver on didn’t have those errors - and have been using it ever since. Crystal finally got around to issuing hotfixes for those issues in CR9 some time after Crystal Reports 10 was released - only to find that CR10 had the same problem of returning negative numbers via MyODBC 3.51.
Posted Software - Third Party Programs on Monday, September 5th, 2005.
The “External Windows Handler” is a plug-in installed in the default Adobe Acrobat setup (highlighted below, in Reader 7.0 default plug-in screenshot) and required when a PDF is opened in the window of another application, such as IE or content management apps. Should one of those external applications crash with a PDF open it can corrupt any Acrobat plug-ins in use at the time of the crash. The next time an external Acrobat window is opened by another application the error “Could Not Find External Window Handler” will appear.
Common with the old versions 4.x and 5.x of Acrobat, this message is increasingly less-common with the better-coded and more stable Acrobat versions 6.x and 7.x. Nonetheless, the fix is a simple reinstallation of the Adobe Acrobat application. Unless a newer version Acrobat is being installed it isn’t necessary to uninstall the Acrobat software with the missing plug-in prior to the reinstallation.
Posted QuickBooks Software, Software - Third Party Programs on Sunday, July 31st, 2005.
QuickBooks Data File Repair Instructions
Working for the IT department in a private accounting firm it is inevitable that a large number of our clients use and will continue to use QuickBooks accounting software. It is an inexpensive and well-marketed program that many bookkeepers already know. Unfortunately, Intuit provides poor technical support, has a badly-designed, proprietary database format, and there is little free support since Intuit has encouraged pay-to-play 3rd-party support. This article is a start at expanding the free, online support information available for the program.
The custom database format used in Intuit’s QuickBooks .QBW files isn’t very resilient and often results in the need to rebuild database files and then recover the data lost during recovery. The custom data format means that only the simple tools built in to QuickBooks (QB) can be used in the rebuild and recovery process, so fixing damaged QB files is tedious but not very complicated.
The lack of resilience of the .QBW data format makes determining the cause of corruption difficult. In fact, many files are damaged long before errors are finally reported by the QB program. Using QuickBooks in a multi-user, networked environment often results in errors when one or another client computer disconnects. Because QB doesn’t perform a full scan of the database unless the Verify or Rebuild utilities are run, no error messages are reported until the damaged data is accessed by the program. It isn’t worth tracking file usage closely enough to determine who or when integrity problems occur.
Check to Determine if File is Corrupt:
Following the appearance of an error message that indicates data problems, first run the Verify utility to determine if problems exist with the file or if the error was due to network or drive problems. To run Verify pull down the File menu > click on “Close Company/Logoff” and then pull down the File menu again > click Utilities > click “Verify Data” and then select the correct .QBW file from the computer or server drives. After a file is selected the utility will run and report on the data integrity of the file. If there are any problems with the data QB will report “Data has lost integrity”. Continue on to the steps outlined below to repair data. QB will report “QuickBooks detected no problems with your data” if the data are not corrupt. In this case, other problems on the network, PCs, or servers involved may have caused the error.
If Corrupt, Prepare for Rebuild:
In the event the Verify utility does report integrity issues with the .QBW file in question, the following steps outline methods to prepare a file for the Rebuild utility, to run the Rebuild utility, and then to manually restore transactions from rebuild log files.
Preparation Steps:
Accounts: Pull down the “Lists” menu > select “Chart of Accounts” > Confirm that active and inactive accounts are being displayed. Depending on the version of QB, confirming which accounts are displayed is done from the Chart of Accounts screen. Depending on the version of QB being used: A) by clicking the “Show All” or “Include Inactive” checkbox at the bottom (next to the “Reports” button), or B) by clicking the “Account” button at bottom-left > select either “Show Inactive Accounts” or “Show All Accounts”. Finally, click on the “Account” menu at button again > select “Re-sort Lists” > click “OK” at the prompt.
Items: Pull down the “Lists” menu > select “Item List” > repeat the steps from accounts, above, to show all accounts and then re-sort the lists.
Customer Names: Pull down the “Banking” menu > select “Write Checks” > open the checking name list by clicking in the “Pay to the Order of” field > press “Ctrl” and “L” to open the list > repeat the steps from accounts, above, to show all accounts and then re-sort the lists.
Rebuild and Reverify Steps:
Rebuild the file by selecting the “File” menu > “Utilities” > and then “Rebuild Data”. The utility will first prompt to backup the QB file unless one was just run. Run the backup and, then click “OK” on the next dialog confirming a rebuild of the data file. Again, this step should only be performed on a local (C:\) copy of the .QBW file, as a networked file is likely to be corrupted in the event of a connection failure.
Before running the Verify tool again, rename the QuickBooks log file. This file, always named QBWIN.LOG, can be found by searching or by looking in the installation folder for QB (usually C:\Program Files\Intuit\QuickBooks ##\, where ## is the version year) and there is one of them for each version/year of QB installed on a computer. I prefer to keep the file name and just add a date, such as QBWIN-2008-02-29.LOG. Now rerun the Verify utility via the “File” menu > click on “Close Company/Logoff” and then pull down the File menu again > click Utilities > click “Verify Data” and then select the correct .QBW file from the computer or server drives.
Correcting Continuing Errors or Missing Data:
Open the new QBWIN.LOG file, created by the Verify utility after renaming the old one. Programs like WordPad or Notepad, included for free in Windows, are much better than using Word which may reformat the text. Any errors found in QuickBooks will be listed in this file. Any items that contain the word “CHECKPOINT” can be ignored. Scan other items in the file to identify any QB transactions that were picked up by Rebuild. Those items include some combination of Amount, Date, Document Number, or Transaction Type.
Once the transations with errors have been identified open the QB file and go to the “Edit” menu > “Find” > “Advanced” button. In the Advanced Search use the Amount, Date, Document Type, and Transaction Type to find individual transactions in the QB file. Manually delete each transaction from the log file and reenter. Once all the transactions found in QBWIN.LOG have been reentered close the file and rerun the Verify utility. Odds are that there will be no more problems after a manual repair. If there are any more problems found then restart these instructions at the Rebuild step, a second run has never failed to repair a QuickBooks file for me.
