In Windows, there is no native supported way to block certain processes from accessing certain drives, that goes "against the current nature" how the operating system handles drive access.
The right for access is determined by the logged on user's rights who starts the application. So if the software developer decided his software should search all accessible drives and does not give you the option to turn that off... well, that's bad programming which does not consider your particular use case. But there are a few workarounds.
The only "sure" solution is 2, since the hardware virtualization layer (from the virtual machine) can block any applications to attempt to access the "real hardware" completely. Although I haven't had the case where solution 1 doesn't work, but theoretically I think it could be bypassed.
Option "1" - Disabling the drives at a "low level" - No additional software needed
Option 1a
It's possible to disable the volumes on a lower layer by disabling the drives altogether, but this will disable all volumes on the drive. Manually, you can do it by starting diskmgmt.msc
, then right click on the drive and mark it "offline".

If needed, you should be able to do that using a command line script as well. It would be applied a similar way as Option 3a/b. You can do that, for example, via cmd as described here or via PowerShell, as it is described here.
Option 1b
You can deactivate the drive's driver altogether. To do in manually: start diskmgmt.msc
, then right click, choose "options". Then go to the "Driver"-Tab and select "Deactivate". The drive will "disappear" in the disk manager and won't be accessible through the operating system anymore. Unless the software doesn't execute machine code commands to communicate directly with the hardware, there should be no way for the application to access the drives. At least as far as my knowledge of the ins and outs for operating systems goes.

If needed, you should be able to do that using a command line script as well. It would be applied a similar way as Option 3a/b using, for example, Devcon.exe
. You can find a detailed description here.
Option 2 - Using a virtual environment (mostly with 3rd party software)
If running the application within a virtual environment is an option at all, there are plenty of solutions out there:
depending on your Windows version (Win7 and up required) and license ("Professional" required, "Home" won't do), you can just use Hyper-V to set up a virtual environment without any third party software.
you can use a third party software to set up a virtual system like VMplayer, Virtual Box, etc. There are many freeware and payware alternatives. By using this solution, you will need a second licence for Windows (or you leave it unlicensed, but then you will get an overlay in the lower right corner of the screen that will tell you to register Windows). This will definitely prevent the software from accessing the drive.
you could use a "sandbox"-application. But it will depend on the level of virualization the sandbox-application offers. In some cases, it can solve the problem; in other cases, it doesn't. Sandboxie, for example (the one harrymc describes in his answer), doesn't solve the problem with the configuration harrymc described in his (original) answer. Although the software might block the access, the drive will still spine up. An alternative would be to use a different sandbox application like Cameyo, etc.
By the way, here's a good article for the main difference between the different virtualization software, especially the difference between a "whole" virtual machine (like Virtual Box) or "semi virtual" applications (like Sandboxie).
Option 3 - Unmounting just volumes (leaving the drive "intact") - No additional software needed, BUT it might not work in your case
Option 3a
Instead of starting the application via its regular shortcut, you could write a batch file using the command mountvol
that first unmounts the unused volume, then starts the application, and then remounts the volume once the application doesn't access the drive anymore. The mounting/unmounting process via command line is described here and here. You can also use diskpart
as described here and here.
Option 3b
Alternatively, you could just leave the drive unmounted in general and mount it via a batch file that mounts the drive which you start manually when needed. After you're done using it, you can manually unmount it using a second batch file. You could automatize that by monitoring file system access requests and mount/unmount the drive as required following certain rules e.g. that certain applications won't have access. But I'm not sure automation is worth the extra effort involved.
Option 4 - Restricting access to a drive-letter (volume). Simple to do, but two small tools from Microsoft needed - BUT it might not work in your case
If you want to do it without 3rd party software but don't mind to use two small tools from Microsoft (if you don't use it already). I prefer this solution because it gets the problem "by the root" (differentiation between the user's and the application's rights) and it's fairly simple and no "big" third party software is needed.
Basically, you add a user with no access to the drive and then you start the program with those limited rights (you will still log on as your regular user, you won't use the restricted account to log on).
Add a user account.
Restrict the new user account's access to the drive by using Windows Access Control for the file system. Here's a good How-To including screenshots.
Then, start the software with those rights. You can, for example, use PsExec.exe to do that or Process Explorer, here's how. One of those two you will have to download from the Microsoft website, if you don't have them already.
1Have you considered running Reader as a separate user which doesn't have access to those volumes? – TWiStErRob – 2014-12-21T15:15:55.607
@TWiStErRob: that would be an option; however, I am not sure how to change the general application shortcut to include a "runas"-directive, so that every call to Adobe Reader would result in running as that restricted user. – user654123 – 2015-02-07T13:22:34.153
You can try changing the pdf file association to run something like http://superuser.com/questions/124445 instead of reader.exe directly.
– TWiStErRob – 2015-02-07T13:32:56.627Be aware that "Adobe’s e-book reader sends your reading logs back to Adobe" [http://arstechnica.com/security/2014/10/adobes-e-book-reader-sends-your-reading-logs-back-to-adobe-in-plain-text/]. Ostensibly this is to catalog your documents in the cloud, not for DRM purposes. So the Adobe application checking all drives may be building a catalog. As mentioned, you might try Sumatra, Nitro or other free PDF reader. – DrMoishe Pippik – 2015-05-31T02:42:09.153
I was also thinking to suggest running the viewer as a user that has been denied access to the drives. I'm thinking though, that since the disk has to be read to get the access control list, it will spin up anyway :( – Dawn Benton – 2015-10-31T15:52:08.587
would running the application in a virtual environment and not directly on the host system be a viable solution? – Albin – 2018-09-24T09:33:14.043
I do not know how to disable access for certain application. But I suspect, if there is a tool to deny access to SSD for some application, you will lose the ability to open files from that volumes. So in this case it is better to try to find out what function makes Adobe Reader to read/write something from/to SSD. Look at the "recent files" feature. Maybe it checks their availability each time. – VIK – 2013-11-17T16:45:08.380
I want to restrict access to the Raid, not to the SSD. In fact, there is nothing on any volume on the Raid, that is of any use to Adobe Reader on my computer. So, yes, in my case I explicitely want to lose the ability to access anything from within Adobe Reader what is not on the SSD. You might be correct about the "recent files"-feature though (although in this case there aren't any recent files coming from those volumes). – user654123 – 2013-11-17T16:57:06.693
1
What about a radical solution such as using another PDF viewer? This does not solve problems with other apps but as I understand the Adobe Reader is most annoying thing for you. https://en.wikipedia.org/wiki/List_of_PDF_software
– VIK – 2013-11-17T17:06:14.157Yes, it's the most annoying application :) I was hoping there might be a built-in solution to that problem since denying internet access via the Windows firewall works fine for other programs. – user654123 – 2013-11-17T17:12:17.463