With driver issues generally, I'd always recommend removing ("uninstall") (and also ticking the delete option if given) the driver, especially any hidden instances and then working back up. Fixes any annoying issues with half-installed and mis-matched driver/file versions, etc. One thing to be aware of if you don't already know is that driver installs (on windows at least) are associated with the USB port the device was detected in. Hence if you move your digispark to another port, it will have to go through the whole driver install and detection process. This is most noticeable with USB-to-serial adapters - the COM port changes depending on which USB socket you have the daft thing plugged into! :-/
DPInst is only a helper program - it's the Driver Package Installer provided as part of the Windows Driver developers kit - and AFAIK primarily just puts the files in the right place so the built-in driver autodetection in windows will find the driver files when it looks for them for a new unknown device. By rights you should be able to shove the digispark into a new computer, let the bootloader time out (the five second wait), go to the device manage, turn on the hidden devices, and then update the unknown device which you know to be the digispark by pointing it to the driver folder.
Not only should you exclusively use the initial USB port, I found out that I also used that port for a wireless Logitech keyboard; as soon as I plug that unit in another USB port I do again get "Unknown Device"!
When I remove the Logitech USB unit from its non-familiar port, then reinstall the Dgistump Bootloader from the menu "Reinstall older hardware" (right-click on the top of all devices in device manager), choose the libusb-win32 Usb Devices and there the Digistump Bootloader, install: and hop, the device reappears in the device listing.
Next, restart Arduino, get a little program to download to the digistump, insert the sucker, and bingo! Download proceeds.
I repeated this last step at least ten times, each time removing the digistump from the usb port and reinserting when Arduino asks for it: each time it works.
Lessons:
1. use a dedicated USB for digistump only, do never plug any device that was in that usb port elsewhere in another usb port, never
2. only insert the digistump in its dedicated USB socket when asked for it, remove straight after download
3. before first use: clean ALL old, unknown etc devices together with their drivers
4. right after "point 3." install sequence I used with succes: (post 12:04 of today): 1, 3 and 2 (PeterF you may disagree but this worked for me time and again the last couple of miserable days

5. watch the video on
https://www.youtube.com/watch?v=MmDBvgrYGZs6. prepare for sleepless nights and for a partner who thinks you are becoming insane
Actually the right order for the above should be 6, 5, 3, 4, 1, 2

Now I deserve a few days off and a beer first of all
