MSFN Forum: FileDisk virtual disk driver for Windows NT/2K/X - MSFN Forum

Jump to content


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

FileDisk virtual disk driver for Windows NT/2K/X Rate Topic: -----

#1 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 01 February 2005 - 10:30 AM

FileDisk by Bo Branten
FileDisk is a virtual disk driver for Windows NT/2000/XP that uses one or more files to emulate physical disks. A console application is included that let you dynamically mount and unmount files. FileDisk can also use CD-images.
Latest news: Works on Windows XP, FileDisk images can be stored on network drives, support for CD-images, support for UNC paths, support for sparse files.

FileDiskExt.dll shell extension to handle iso files written by Sherpya.
Note: Sherpya plug-in is written for WinPe and the inf file should be modifed for use with regular Windows.

You can try my own FileDisk.inf installer (FileDiskExt.dll renamed to FileDisk.dll) to copy three files and install the Shell Extension.
; Inf file author: Bilou Gateux 
;
; FileDisk by Bo Branten
; http://www.acc.umu.se/~bosse/
; FileDisk Shell Extension by Sherpya
; http://oss.netfarm.it/winpe/

; uninstall feature don't works 
; 

[version]
signature="$Chicago$"
SetupClass=BASE
AdvancedINF=2.5, "%ERROR_WRONG_ADVPACK_VERSION%"

[DefaultInstall]
RequiredEngine	= Setupapi,%ERROR_ENGINE_NOTFOUND%
CopyFiles=ThisDll.ShellExt.Install,ThisDll.inf.install,ThisDll.exe.install,ThisDll.sys.install
AddReg=ThisDll.Add.Reg,ThisDll.Uninst.Reg

[DefaultUninstall]
DelFiles=ThisDll.ShellExt.Install,ThisDll.inf.install,ThisDll.exe.install,ThisDll.sys.install
DelReg=ThisDll.Add.Reg,ThisDll.Uninst.Reg

[ThisDll.Add.Reg]
HKCR,CLSID\{844449EE-53BC-4b46-8AC4-EAF476C1CF3B},,,"%Content_DESC%"
HKCR,CLSID\{844449EE-53BC-4b46-8AC4-EAF476C1CF3B}\InProcServer32,,,"%11%\%SubDir%\%ThisDll%"
HKCR,CLSID\{844449EE-53BC-4b46-8AC4-EAF476C1CF3B}\InProcServer32,ThreadingModel,,"Apartment"

HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ShellExtensions\Approved"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ShellExtensions\Approved",{844449EE-53BC-4b46-8AC4-EAF476C1CF3B},,%Content_DESC%

HKCR,.iso,,,"ISOImage"
HKCR,.iso,"InfoTip",,%FileDiskTIPS%

HKCR,ISOImage\,,,%ISOImage%
HKCR,ISOImage\CLSID,,,"{844449EE-53BC-4b46-8AC4-EAF476C1CF3B}"
HKCR,ISOImage\DefaultIcon,,,"%11%\%SubDir%\%ThisDll%,-4"

HKCR,ISOImage\Shell\Open,,,""
HKCR,ISOImage\Shell\Open\Command,,,"rundll32 %11%\%SubDir%\%ThisDll%,MountIso %L"

HKCR,ISOImage\ShellEx\ContextMenuHandlers\{844449EE-53BC-4b46-8AC4-EAF476C1CF3B},,,""

HKCR,Drive\Shellex\ContextMenuHandlers\FileDisk
HKCR,Drive\Shellex\ContextMenuHandlers\FileDisk,,,{844449EE-53BC-4b46-8AC4-EAF476C1CF3B}

[ThisDll.Uninst.Reg]
HKLM,SoftWare\Microsoft\Windows\CurrentVersion\Uninstall\FileDiskExt,,,
HKLM,SoftWare\Microsoft\Windows\CurrentVersion\Uninstall\FileDiskExt,"DisplayName",,%Content_DESC%
HKLM,SoftWare\Microsoft\Windows\CurrentVersion\Uninstall\FileDiskExt,"UninstallString",,"rundll.exe setupx.dll,InstallHinfSection DefaultUnInstall 4 %17%\filedisk.inf"

[ThisDll.ShellExt.Install]
FileDisk.dll

[ThisDll.inf.install]
FileDisk.inf

[ThisDll.exe.install]
FileDisk.exe

[ThisDll.sys.install]
FileDisk.sys

[DestinationDirs]
ThisDll.ShellExt.Install=11,%SubDir%; to System32\%SubDir%
ThisDll.exe.Install=11; to System32
ThisDll.sys.install=11,%Drivers%; to System32\Drivers
ThisDll.inf.install=17; Inf SubDir

[SourceDisksNames]
55="FileDisk 1.1","",1

[SourceDisksFiles]
%ThisDll%=55

[Strings]
Content_DESC = "FileDisk"
SubDir = "ShellExt"
Drivers = "Drivers"
ThisDll = "FileDisk.dll"
ISOImage = "CD-ROM ISO Image"
FileDiskTIPS = "FileDisk"
Reg_Path_Run = "Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup"


Installation:
Extract FileDisk.exe FileDisk.sys and FilediskExt.dll from Sherpya filedisk-1.1.cab archive to a temp folder, Rename FileDiskExt.dll to FileDisk.dll, copy and paste my code edit and save it to filedisk.inf, copy and paste my code edit and save it to filedisk.cmd
To install the kernel-mode device driver FileDisk.sys, i'm using INSTDRVW.EXE console tool:
FILEDISK.CMD
ECHO OFF
:: FileDisk is a virtual disk driver for Windows NT/2000/XP that uses one or more files to emulate physical disks.
:: http://www.acc.umu.se/~bosse/
:: Copy files and set registry keys and values
rundll32 advpack.dll,LaunchINFSection .\filedisk.inf ,DefaultInstall
:: Install Kernel-Mode Device Driver
INSTDRVW.EXE FileDisk %SYSTEMROOT%\SYSTEM32\DRIVERS\filedisk.sys
:: Set Number of Devices
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\FileDisk\Parameters" /v NumberOfDevices /t REG_DWORD /d 4 /f



#2 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 02 February 2005 - 06:05 AM

It looks like a nice tool.

jaclaz

#3 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 02 February 2005 - 10:55 AM

Very useful for mounting ISO image of software install CD from a network share and then install it unattended on ultra-notebook without CD-Drive.

!mount CODE
Copy, Paste and save to !mount.cmd in the same subdir where the iso image stays.

#4 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 07 February 2005 - 04:19 AM

Office 2003 Professional Network Install

#5 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 07 February 2005 - 07:37 AM

This could be another nice idea on how to use it:
http://www.911cd.net...showtopic=10705
(Saving a NTFS compressed "Programs" directory on CD to save space)

jaclaz

#6 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 07 February 2005 - 08:05 AM

Yes it's another idea i would like to use.
As filedisk can handle IMG files (and not only ISO), we can store some valuable data into an img file and mount it when needed. No left data on the local Hard Drive.
I need to have the ability to use command line tool to run it unattended. Reading the features of TrueCrypt, it seems possible to use it with command lines. :)

#7 User is offline   buletov 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 518
  • Joined: 08-September 04

Posted 07 February 2005 - 08:41 AM

what about drive letters? can they be preselected?

#8 User is offline   XPect 

  • Junior
  • Pip
  • Group: Members
  • Posts: 80
  • Joined: 18-June 04

Posted 07 February 2005 - 09:02 AM

2 comments:

For mounting images, why not to use Vitual Clone Drive from Slysoft (Free) ? Seem to be more porwerfull in terms of CD images types handling capacity. Or DaemonTools but limited to ISO.

For valuable data, I suggest to use encrypted volumes rather than just imgs. For such uses jetico products (Bestcrypt) are good, but you can also use Cryptainer (LE is free but limited) or other tools.

#9 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 07 February 2005 - 09:13 AM

XPect, on Feb 7 2005, 09:02 AM, said:

2 comments:

For mounting images, why not to use Vitual Clone Drive from Slysoft (Free) ? Seem to be more porwerfull in terms of CD images types handling capacity. Or DaemonTools but limited to ISO.

For valuable data, I suggest to use encrypted volumes rather than just imgs. For such uses jetico products (Bestcrypt) are good, but you can also use Cryptainer (LE is free but limited) or other tools.

Need only a fast command line tool to mount standard ISO images during UA install. I don't want (need) any GUI. End users don't need to have access to this kind of tools on the installed boxes.
Installing the ShellExtension DLL is not mandatory.
As pointed by Jaclaz, TrueCrypt seems to be a good solution for mounting encrypted containers from the command line.
For my own usage, i can use various solutions.

@buletov
Is your question related to my batch files using filedisk ?
IF :yes: you can hardcoding the letter of mounted image in !mount.cmd batch file.
Just replace %FirstAvailableDriveLetter% with the letter you want to use. I have set the letter through variable to be more versatile.

#10 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 07 February 2005 - 01:46 PM

For RAW images, not ISO, I still prefer Ken Kato's VDK one:
http://www.msfn.org/board/index.php?showtopic=26216&hl=
as it can be installed, started, stopped, etc. directly.

As ken's is a derivative from Bo's Filedisk, I wonder if it can be "extended" to read ISO files too.

@Bilou_Gateux
I have updated the pseudo GUI for ken's VDK, you can find it at the above link.

jaclaz

#11 User is offline   arndt 

  • Group: Members
  • Posts: 4
  • Joined: 13-February 05

Posted 13 February 2005 - 02:40 PM

Hi @all,

i need help with filedisk. Does anybody know how to use junction points in combination with filedisk. (e.g. mount image to %SystemDrive%\Programs), or does anybody knows an other commandlinetool to mount imagefiles?

Greetz + thanks in advance

Arndt

#12 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 14 February 2005 - 03:35 AM

Once the image has been mounted and assigned a drive letter, junction should work allright.
You can try Ken Kato's VDK (see my post above) too.

The problem is, if I am not mistaken, is that junctions ONLY work on the same volume.

jaclaz

#13 User is offline   arndt 

  • Group: Members
  • Posts: 4
  • Joined: 13-February 05

Posted 14 February 2005 - 07:48 AM

Thanks for your answer. I expected something like this :(

#14 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 14 February 2005 - 01:00 PM

@arndt

Have a look here:
http://shell-shocked...icle.php?id=284

Maybe a Symbolic link might work for you.

jaclaz

#15 User is offline   arndt 

  • Group: Members
  • Posts: 4
  • Joined: 13-February 05

Posted 15 February 2005 - 02:02 AM

Thank you,

but as i realized this day, junction points (or symlinks) are a ntfs5 feature.

Quote

The real story is that Windows has had symbolic links since Windows 2000, or more specifically, NTFS 5.0.

I needed soething like this for cdfs, so i guess there is no way for me...

#16 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 15 February 2005 - 03:34 AM

arndt said:

I needed soething like this for cdfs, so i guess there is no way for me...


Actually there is something like that, it only applies to files, it is used widely in Microsoft distribution CDs, and implemented in their "internal use only" CDIMAGE.

The purpose is, if you have the SAME file in ore than one directory, all occurrences of the file but one are sustituted by a link pointing to the remaining file.

If I recall correctly, this feature is present in mkisofs windows port too:
http://www.bootcd.us...ofs_options.htm
(you might need some search to find the full man page)


Cannot say if this is what you are looking for, though.

jaclaz

#17 User is offline   arndt 

  • Group: Members
  • Posts: 4
  • Joined: 13-February 05

Posted 15 February 2005 - 08:47 AM

I know these tools and they work realy fine. But they don't offer a possibility to link to an file/folder outside the cdrom, at least as far as i know.

#18 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 15 February 2005 - 06:51 PM

Yes,
what you need is something more like the good old "SUBST" DOS command.

I don't think such a file/directory redirector exists, or at least I was never been able to find it.

There are two softwares that ( I suppose) use something like this, Rescue 1.2 is now released as freeware (the one for Win98) whilst rescue 2 & 3 (for NT based systems) are Commercial:
http://www.qualystem...n/download.html

The other one is this:
http://www.apct.net/en/index.html
(site seems abandoned since 2002 i.e. before they made the XP version, but it is possible to download the demo version for Win2k up to SP2, free registration required)

jaclaz

#19 User is offline   Methanoid 

  • Junior
  • Pip
  • Group: Members
  • Posts: 88
  • Joined: 21-December 04
  • OS:none specified

Posted 07 March 2005 - 04:05 PM

Bilou and all, I'm actually looking at this for a slightly different application (putting game installs on DVDs).

I want to (without pre-installing a package like Daemontools) mount 2 ISO images, know WHICH drive letters they are and call an installer from the virtual drives.

Is there such a util? In the "old" DOS days I would have used CDEmu or FakeCD (IIRC)...

After install my script can install a noCD patch and unload the ISOs.

ANy ideas gents?

#20 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,411
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 07 March 2005 - 06:13 PM

Yep, and why does not filedisk work for you?

By default it starts with 4 devices....

...as you just need to mount 2 devices...

Could you be more precise?

jaclaz

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy