Jump to content

ImDisk version 1.7.6 build 25 with ImDisk ToolKit


TRSyntax

Recommended Posts

post-58870-0-32707400-1394851178.png   ImDisk + ToolKit
 
 
Download
 
 
EDIT:
 
did some cleanup and added GUIMode="2" to sfx config.

recreated all my silent installers with $FX-CreatoR

Edited by Profess0r1011000
See no reason to delete thread
Link to comment
Share on other sites

Tried ImDiskX64.exe on Windows 8.1 x64 and got an error:
Error during execution ""C:\Users\-\AppData\Local\Temp\imdisk\setup.cmd" /y".
Le fichier spécifié est introuvable.
(= "File not found")
Perhaps because of the user name which causes issues in a batch script? (-)

 

The last version of ImDisk Toolkit (20140307) changed that:

  • - installer: updating now asks for a Windows restart if required
  • - installer: added silent installation (set IMDISK_SILENT_SETUP environment variable to 1 to keep error messages and reboot prompt, or 2 for complete silent)
  • - installer: if previous parameters are found, the ramdisk service is recreated and started (for ramdisks created with Version 20130905 and later)
  • - General Settings: added a button to save the parameters (and optionally the TEMP environment variables)
  • - dynamic ramdisks: performance improvements
  • - minor fixes and improvements

And the ImDisk Virtual Disk Driver uses a similar method, as we can see at the point 13 of the FAQ. Maybe not as handy as a dedicated package like yours, though.

Link to comment
Share on other sites

the error occured since because the folder extracted from the sfx is called imdiskx64, not imdisk :P i guess i was a little dizzy by the time i started writing the sfx temlates. i'll have them fixed in a minute. as for the IMDISK_SILENT_SETUP env variable olof mentions, he only made it possible to set that varible by other means so that people could create scripts that could in theory make the silent switch in his batch work. but out of the box there is no option to make it totaly silent. just read the rest of point 13. in my version there is no messageboxes and no interaction from imdisk toolkit. and also in this release there isn't two seperate installations for the driver and the toolkit, i made one installer / uninstaller that manages both. the toolkit files are just ported into system alongside the driver via an inf install. less crap in registry and only the necessary files in the installers. the toolkit doesn't have a silent feature for setup btw, only for extraction  :)

 

EDIT:  Fixed that issue only to find a new one. i will have it fixed when i have slept. been up for 30 hours and can't accomplish anything right now. check back in say 12-15 hours and it'll be fixed / updated with some extra candy ;) gdnight

Edited by Profess0r1011000
Link to comment
Share on other sites

and also in this release there isn't two seperate installations for the driver and the toolkit, i made one installer / uninstaller that manages both. the toolkit files are just ported into system alongside the driver via an inf install. less crap in registry and only the necessary files in the installers. the toolkit doesn't have a silent feature for setup btw, only for extraction  :)

 

The ImDisk Toolkit is self-sufficient: it installs the driver if needed. There is not two installations to do.

And you're wrong about the setup: the setup GUI is not displayed with IMDISK_SILENT_SETUP: this is a complete silent installation (if you use the value 2). This is one of the innovations of the current version...

Of course, you need to define an environment variable, but it's not much less user-friendly than using something like a command line switch.

About the driver (the package of Olof), along with the environment variable, you also need to add the -y switch to avoid a dialog box from the extractor (not the installer). But in fact, this is still not enough to have a silent installation in any cases, because if a reboot is needed, you will be prompted for that. This case is avoided with ImDisk Toolkit if you use the value 2 for the environment variable.

In fact, it is because of the used value in the command

rundll32 setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf

You have to change 132 by 128 to make a complete silent install, as described here.

 

That said, even as the author of the Toolkit, I cannot provide a silent package that requires no manipulation. So, your project is still interesting, but it would be more simple for you to use the integrated solution of the installer of the Toolkit. For information, if you need to extract the content of the installation package, the installer of setup.exe is started if there is an object named "driver" in the same directory (a file or a directory). But as I said, the GUI is not displayed if you use the environment variable.

With that, you keep the possibility to rebuild instantly the previous ramdisks if parameters are found in the registry. This is another newness of this version. :)

Link to comment
Share on other sites

First, what i meant by two installations is two keys added in [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\] registry directory. and also, if your ToolKit installs the driver with rundll32 setupapi.dll,InstallHinfSection + installs your ToolKit alongside by other means, that is, i.m.o, TWO installs, whereas having setupapi install it all from the same inf file is ONE install. personal preference maybe.

 

secondly, having to set a GLOBAL environment variable or a LOCAL one in a batch script for that matter, IS much less user-friendly than using a command line switch. in this section (switchless installers) of the forum, having to deal with feeding variables to memory to accomplish a silent install is much more troublesome than by the means of a switch. moslty because most of if not all of the switchless installers are packed in sfx archives.

 

and i checked, imdiskinst.exe from olof does not have a -y switch. it generates a prompt to confirm installation. i'm ushure of this extractor your mentioning. have i missed something?

 

But in fact, this is still not enough to have a silent installation in any cases, because if a reboot is needed, you will be prompted for that

 

yes that is true, but this switchless installer is for slipstreaming with windows installation and there can't possibly be a former install of imdisk located in system. besides as the user is not logged in while theese installs run, i'm unsure if that a reboot request would even occur.

 

..because of the used value in the command rundll32 setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf

You have to change 132 by 128 to make a complete silent install, as described here.

 

this is new to me!! thank you for that information :)

 

..the installer of setup.exe is started if there is an object named "driver" in the same directory ..

 

so without the driver folder there it opens the configuration.. i know that, and love the concept

 

With that, you keep the possibility to rebuild instantly the previous ramdisks if parameters are found in the registry

 

 could you explain a little more in depth what this does?

 

and lastly, if you could tell me what exactly your "setup.exe /u" switch does? it only manages the unninstallment of the toolkit right? because, again, i want for this version of Imdisk + Toolkit to be ONE installer \ uninstaller  ;)

Edited by Profess0r1011000
Link to comment
Share on other sites

secondly, having to set a GLOBAL environment variable or a LOCAL one in a batch script for that matter, IS much less user-friendly than using a command line switch. in this section (switchless installers) of the forum, having to deal with feeding variables to memory to accomplish a silent install is much more troublesome than by the means of a switch. moslty because most of if not all of the switchless installers are packed in sfx archives.

 

It is a point of view, but not a big deal in my opinion:

cmd /c "set IMDISK_SILENT_SETUP=2&ImDiskTk.exe"

 

and i checked, imdiskinst.exe from olof does not have a -y switch. it generates a prompt to confirm installation. i'm ushure of this extractor your mentioning. have i missed something?

 

The -y switch removes the message of the 7-zip SFX module, as described in the help of 7-Zip.

But the following messages are done with the installer of Olof, this is why you also need the environment variable.

 

could you explain a little more in depth what this does?

 

You can now save the current config of ImDisk Toolkit. This can be done with the "General Settings" in the start menu, which saves in a .reg file the key HKLM\SOFTWARE\ImDisk and possibly some other values.

If you restore this key before using the installer of ImDisk Toolkit, the installer will create and start automatically the service required for the ramdisks. This means you can install the Toolkit and define ramdisks in only one step. This is especially useful for users who define several ramdisks.

For slipstreaming, this means you can get a ramdisk at the installation of Windows without any manipulation... But this requires to restore the appropriate key(s), by a way or another (e.g. the "reg" command).

 

and lastly, if you could tell me what exactly your "setup.exe /u" switch does? it only manages the unninstallment of the toolkit right?

 

Yes. And depending of the selected options of the dialog box, the driver can be kept or not. This is why you can find the uninstall key of the driver: in fact, I only remove or restore the value "DisplayName" according to the situation. Of course, I could remove all the key, but this increases the amount of code... :P and most users don't care about what it can be found in the registry, as long as everything is properly removed when the program is uninstalled.

Link to comment
Share on other sites

cmd /c "set IMDISK_SILENT_SETUP=2&ImDiskTk.exe"

 

hah! yeah i guess that line killed all my reasons for arguing :P

 

You can now save the current config of ImDisk Toolkit. This can be done with the "General Settings" in the start menu, which saves in a .reg file the key HKLM\SOFTWARE\ImDisk and possibly some other values.

If you restore this key before using the installer of ImDisk Toolkit, the installer will create and start automatically the service required for the ramdisks. This means you can install the Toolkit and define ramdisks in only one step. This is especially useful for users who define several ramdisks.

For slipstreaming, this means you can get a ramdisk at the installation of Windows without any manipulation... But this requires to restore the appropriate key(s), by a way or another (e.g. the "reg" command).

 

and it seems there is more to your toolkit that what my first impression told me! :)

 

Yes. And depending of the selected options of the dialog box, the driver can be kept or not.

 

i first installed the toolkit after the installation of imdisk so i missed out on a couple of things like the unified uninstaller. but that is what im looking for :)

 

im giving up on this project now and will have a admin delete the thread in fact. i keep bumping in to the same problem trying to install the two sys services. they just wont install! the problem even occurs in the standard imdisk setup as well as the toolkit. so i have to do something with my system. might take this up again on a later date as i have created a service for imdisk that mounts images on startup and is being managed by batch scripts. propably going to try putting that in a package at some time.

 

thanks for your time and clarifications! ^^,

Edited by Profess0r1011000
Link to comment
Share on other sites

... will have a admin delete the thread ...

I see no need for that. This is a marvelous example of the give and take between the author of an app and a user asking questions and offering changes, in this case for ease of installation. Just because it hasn't borne fruit, yet, I see no reason to delete the thread. Sometimes we learn as much from our failures as from our success.  There is useful information here.

 

Cheers and Regards

Link to comment
Share on other sites

btw, the last issue was releated to some system restriction of windows known as 'file system redirection' not giving me access to syswow64 when trying to install drivers with 'rundll32 setupapi.dll,InstallHinfSection DefaultInstall' from my setup batch. Olof had already fixed this with his runwait.exe application, using the Wow64DisableWow64FsRedirection function, but i had no idea. i thought it only used the detached_process creation flag and the startf_useshowwindow startup info flag to hide the console window as i have seen lots of other small apps like his do. while trying to debug the install i didn't want any of those options activated of course and ended up having to learn of this 'file system redirection' by looking through the runwait.exe source. but now i know and everything installs as it should!! sorry for my very little knowlegde in c. i'm working on it!

Edited by Profess0r1011000
Link to comment
Share on other sites

As it was simpler to implement than I thought, I replaced the processing of the environment variable by a simple switch:
/silent: Silent installation. Error messages and reboot prompt are still displayed.
/fullsilent: Silent installation, without error message or prompt.

Any other parameter displays a description of the available switches.

 

 

btw, the last issue was releated to some system restriction of windows known as 'file system redirection' not giving me access to syswow64 when trying to install drivers with 'rundll32 setupapi.dll,InstallHinfSection DefaultInstall' from my setup batch. Olof had already fixed this with his runwait.exe application, using the Wow64DisableWow64FsRedirection function, but i had no idea. i thought it only used the detached_process creation flag and the startf_useshowwindow startup info flag to hide the console window as i have seen lots of other small apps like his do. while trying to debug the install i didn't want any of those options activated of course and ended up having to learn of this 'file system redirection' by looking through the runwait.exe source. but now i know and everything installs as it should!! sorry for my very little knowlegde in c. i'm working on it!

 

Don't know if it will be useful, but a trick that is often used to access the 64-bit System folder from a 32-bit application is to use the "Sysnative" alias, as it is explained here:
32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32. WOW64 recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access. This mechanism is flexible and easy to use, therefore, it is the recommended mechanism to bypass file system redirection. Note that 64-bit applications cannot use the Sysnative alias as it is a virtual directory not a real one.

Link to comment
Share on other sites

As it was simpler to implement than I thought, I replaced the processing of the environment variable by a simple switch:

/silent: Silent installation. Error messages and reboot prompt are still displayed.

/fullsilent: Silent installation, without error message or prompt.

nice! i.m.o that makes it much easier to add as a silent installer during windows setup :) especially if you use software like WinToolkit where there is a 'switch input box' for all of our installers

 

Don't know if it will be useful, but a trick that is often used to access the 64-bit System folder from a 32-bit application is to use the "Sysnative" alias, as it is explained here:

32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32. WOW64 recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access. This mechanism is flexible and easy to use, therefore, it is the recommended mechanism to bypass file system redirection. Note that 64-bit applications cannot use the Sysnative alias as it is a virtual directory not a real one.

yeah, i read that entry when i was trying to figure out the Wow64DisableWow64FsRedirection function. i haven't tried to add it to the inf though. windows should just add it to the dirids with an explanation. that would have saved me some time ^_^

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...
  • 4 months later...

I was passing here by chance...

 

The silent uninstaller has just been added. Use /silentuninstall as an argument to either setup.exe or the installation package (ImDiskTk.exe).

 

This was a request from a user of Chocolatey, but it seems that other people may find that useful...

Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...