Daemon Tools

(If you're using Windows 10 or above, you can probably double-click most .iso files to mount them, as it is now built into the OS. This post was written for earlier versions, and may still be useful if you run into things the built-in ISO mounting does not cover.)


Two buttons which mount/unmount a drive image using Daemon Tools.

Both buttons use Drive 0 - which is 1 in Daemon Tools. Obviously you can easily change this to any of the four drives [0-3].

Also, if Daemon Tools is in Secure Mode then you will be prompted each time you attempt to mount or dismount a drive.

To Mount a drive image

<?xml version="1.0"?>
<button display="label" effect="gray">
	<guid>{9077FE30-4027-4D0F-A8C1-654B8E8F3815}</guid>
	<label>Mount</label>
	<tip>Mount a cd image using Daemon Tools.</tip>
	<icon1>84</icon1>
	<function type="normal">
		<instruction>"C:\Program Files\DAEMON Tools\daemon.exe" -mount 0,"{filepath$}"</instruction>
	</function>
</button>

To Unmount a drive image

[code]

<?xml version="1.0"?> {417EFFC4-C44F-4E5F-83D6-9C36DD4BE616} Unmount Unmount a cd image using Daemon Tools. 84 "C:\Program Files\DAEMON Tools\daemon.exe" -unmount 0 [/code]

You could change the Function in these buttons so that Opus prompts you to enter the drive number each time you press the buttons.

Simply change the functions as follows:

Mount

"C:\Program Files\DAEMON Tools\daemon.exe" -mount {dlgstring|Enter drive number [0-3]},"{filepath$}"

Unmount

"C:\Program Files\DAEMON Tools\daemon.exe" -unmount {dlgstring|Enter drive number [0-3]}

Thanks a bunch for this, Steve. I've been using a Daemon Tools shell extension plug-in (linked from their site) and it was loading much slower than this is. Great stuff!

Big Thanks this is a really useful button

Also useful as filetype (access via context menu when on imagefile):

Create a new filtetype-goup, e.g. Images, define some extensiosn (.img, .iso, .b6t, nrg, etc...) and create following contextmenu entries:

Mount Image:

"C:\Program Files\DAEMON Tools\daemon.exe" -mount 0,"%1"

Mount image and open in lister:

sync: "C:\Program Files\DAEMON Tools\daemon.exe" -mount 0,"%1" Go <Path to DT-drive>:

Small Update (DAEMON Tools 5.0.0316 at the time of writing)

To Mount a drive image

<?xml version="1.0"?> <button display="both" label_pos="right"> <label>Mount</label> <tip>Mount a cd image using Daemon Tools.</tip> <icon1>%PROGRAMFILES(X86)%\DAEMON Tools Pro\DTAgent.exe,0</icon1> <function type="normal"> <instruction>"%PROGRAMFILES(X86)%\DAEMON Tools Pro\DTAgent.exe" -mount scsi, 0, "{filepath$}"</instruction> </function> </button>
To Unmount a drive image

<?xml version="1.0"?> <button display="both" label_pos="right"> <label>Unmount</label> <tip>Unmount a cd image using Daemon Tools.</tip> <icon1>%PROGRAMFILES(X86)%\DAEMON Tools Pro\DTAgent.exe,0</icon1> <function type="normal"> <instruction>"%PROGRAMFILES(X86)%\DAEMON Tools Pro\DTAgent.exe" -unmount scsi, 0</instruction> </function> </button>
To Unmount ALL drive image

<?xml version="1.0"?> <button display="both" label_pos="right"> <label>Unmount All</label> <tip>Unmount all cd image using Daemon Tools.</tip> <icon1>%PROGRAMFILES(X86)%\DAEMON Tools Pro\DTAgent.exe,0</icon1> <function type="normal"> <instruction>"%PROGRAMFILES(X86)%\DAEMON Tools Pro\DTAgent.exe" -unmount_all</instruction> </function> </button>

================================================================================================

Command line integration

Usage: DTAgent.exe -[Command [options]]

-mount
Mounts a virtual drive with an image file:

[code]Syntax: -mount ,,

: "dt", "scsi" or "ide"
: device number
: path to file

Example: DTAgent.exe -mount ide, 0, "f:\test.iso"[/code]
Note 1: If is not specified type will be automatically set to "dt". IDE adapter type is allowed only in Pro Advanced edition.
Note 2: Maximum device number of allowed devices depends on license type. For example maximum number of IDE devices is 4 (DAEMON Tools Pro Advanced Edition).

-unmount
Unmounts a virtual drive.

[code]Syntax: -unmount ,

: "dt", "scsi" or "ide"
: device number

Example: DTAgent.exe -unmount ide, 0[/code]
-unmount_all
Unmounts all currently mounted virtual drives, returns 0 in case of successful operation result or -1 in case of error.

[code]Syntax: -unmount_all

Example: DTAgent.exe -unmount_all[/code]