I have a custom developed mass storage hardware that has been working perfectly in Windows XP, mounting with a drive letter on windows XP within seconds of plugging it in to any USB port. In windows 7 however the same hardware takes several minutes to mount. First, in a few seconds, Windows recognises it as a USB mass Storage device when you plug it in. But if you look at the process in the action centre ( I think thats what its called, it's the icon in the taskbar area on the bottom right that shows that there's a new device detected and being installed), there are two items to be installed for the device. The first has a tick and is called USB Mass Storage Device. The second one, the name of the actual device itself takes several minutes to finally settle on the generic, default windows driver and eventually gets a tick, causing the autorun to pop up asking if I want to open it. Like I said, it mounts like a breeze on XP but is REALLY slow on Windows 7. What is going on?
I'm a software developer tasked with sorting this out for my client's Windows 7 clients and so far, I have not been able to work out what Windows 7 is doing differently to Windows XP or how I can programmatically fix this. They had the product developped as a mass storage device and its been working well for years on XP. I have NO access to the firmware and don't know where to start in developing a driver for this custom hardware, if that is indeed what needs to be done.. I can however make some sort of program run in the installer for the software that I wrote for the chip. Basically al the software does is lets you upload and download files of a specific type (encrypted proprietary file format for this device that show up on the chip as files in its window). There's nothing fancy going on at all and it doesn't need a device driver to run, just a fix to get it to mount quickly or the software falls over when it formats the device prior to uploading new files to it.
What is different about the process used by Windows 7 when installing a generic mass storage device? Other flash drives I have mount much faster than this custom hardware. What is different about them? Its not the speed of the hardware, because that is not an issue on XP, as I said. Can I write the hardware id into registry somewhere special so Windows 7 stops mucking about looking for an appropriate driver EVERY time it is plugged in? Can I 'tell' Windows 7 to always use the default mass storage device and file system drivers without it getting confused and searching for 2 minutes every single time it is plugged in?
Is there an ini file that could somehow be used by Windows 7 for this specific device or something like that? What do I need to do programatically to get Windows 7 to behave like Windows XP for this device only?
Can I copy the default Windows mass storage device driver inf file or some other inf file and somehow decompile it and edit it to only apply to this custom flash drive?
Im totally stuck right now! The solution is time sensitive as well. (Sad face)