http://bugs.winehq.org/show_bug.cgi?id=10018
--- Comment #32 from Anastasius Focht focht@gmx.net 2007-11-30 06:00:56 --- Hello,
the serial number is usually not enough, most tools collect model and firmware revision from ATA_IDENTIFY_DEVICE too when generating unique id's.
Working around with any "needs root access" devices/tools trickery is just a big waste of time... and waiting for any patches to appear in wine tree too (needs some work, unlikely done in near future).
For the time being, just write a simple NT style kernel driver, which creates "\.\PHYSICALDRIVE<x>" and/or "\.<driveletter>:" device object and handles the few required ioctls. For the SMART case it would be SMART_GET_VERSION and SMART_RCV_DRIVE_DATA which return/fill in required data. Make it configurable by using registry when it comes to SERIAL NUMBER, MODEL and other ID sector stuff. Should be easy.
This should please "private security" concerns and allows licensing stuff independent of any hardware changes. Actually I like this approach because it defeats the activation id garbage and expresses my reluctance to support software which tries to intrude into user's privacy ;-)
Make this a separate "mini" project whatever, distribute .sys and .inf file to install the driver (or just attach it to bugzilla, adding small howto). Before running applications which require this disk ID stuff, start the driver and you're done. No wine patches needed.
Regards