![]() |
![]() ![]() |
Nov 9 2006, 02:32 PM
Post
#1
|
|
|
Newbie ![]() Group: Members Posts: 1 Joined: 8-November 06 Member No.: 22,988 |
I have an .iso file and I want to distribute it to users in the form of a self-extracting executable, so that when the users run the executable, it brings up a friendly interface that prompts them to insert a writeable CD, and burns the contents of the .iso to the CD.
This makes it easier to distribute to users who are novice enough that they would be scared off of using a command-line program to burn an .iso file to their CD drive. Is there any such program that can turn an .iso file into a self-extracting executable like that? |
|
|
|
Nov 9 2006, 03:02 PM
Post
#2
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 507 Joined: 29-April 05 Member No.: 11,682 |
http://support.packardbell.com/fi/item/ind...;ppn=PB13309091
Using Packard Bell ImageWriter What is Packard Bell ImageWriter? Packard Bell ImageWriter in an easy to use application to burn contents of an ISO image file to CD or DVD. What is an ISO image file? When you need to burn a CD or DVD, the content is often offered for download as one single file with the .ISO extension. An ISO file can be described as a container which holds the entire of the CD or DVD, including extra parameters such as volume label, file system, creating date, etc. When you create a CD or DVD from an ISO file, the whole content will be written to the CD or DVD exactly as intended by the author. regards Ben How does Packard Bell ImageWriter work? Once you have downloaded and installed Packard Bell ImageWriter, you can easily access the application via a Start menu shortcut: Click Start, then All Programs and Packard Bell ImageWriter. In the Welcome screen, click Next to continue. Select the drive letter of the CD or DVD drive you want to use for burning the CD and click Next to continue. This page will be displayed only if you have more than one CD/DVD rewriter on your system. Select the image file you want to burn to CD or DVD. Click the browse button (folder icon) to select an ISO file from your system. Then click Next to continue. Then, insert an empty CD or DVD disk into the appropriate drive. Click OK to continue. Please wait while the CD or DVD is being created (and optionally verified): Note: this may take a few minutes up to 30 minutes, depending on the size of the source ISO file and the media you are using. (untick option to verify data for a quick burn.) During this process, the hourglass will indicate that Packard Bell ImageWriter is busy and should not be interrupted. After the CD or DVD has been created, this following message will be displayed: The media will be ejected. Click OK to continue. The result of burning process can be read on the final page: Click the Finish button to close Packard Bell ImageWriter. ...................................... and here is what you are looking for http://support.packardbell.com/uk/item/ind...6773251300& if you got a dump utility to read the source you are ok do not ask me how as I have not written the prog and am not a good programmer. I think they use windows XP CD writing .DLL orAPI / . exe prog some of the guys here should know what it is regards Ben again |
|
|
|
| Former_skewltek_post |
Nov 9 2006, 05:07 PM
Post
#3
|
|
Guests |
That's not a bad idea, I'll get started putting something like that together for my companies use.
I don't think the previous download fits the bill, though. If anyone else has any input, please post, otherwise I'll make one myself! |
|
|
|
| Former_hooovahh_post |
Nov 9 2006, 05:43 PM
Post
#4
|
|
Guests |
When ever I have a situation like what you describe I usually include small cd writer (english version for me) and just tell the user with some screen shots how to burn an iso file. Since small cd writer is like less than a meg it doesn't really take up much space.
However the idea of a self burning iso file does sound cool. |
|
|
|
| Former_skewltek_post |
Nov 9 2006, 06:20 PM
Post
#5
|
|
Guests |
I did a little research and the answer hit me like a brick... IMGBurn accepts tons of command line arguments, use that with 7zip and one of the 7zip SFX headers for installers and you could make one yourself very easily. I'll post instructions if you want...
|
|
|
|
| Former_skewltek_post |
Nov 9 2006, 07:34 PM
Post
#6
|
|
Guests |
OK, I've got it working. Rapidshare is down right now or i'd post. Maybe later tonight.
|
|
|
|
Nov 9 2006, 07:49 PM
Post
#7
|
|
![]() Silver Member ![]() ![]() ![]() Group: Members Posts: 459 Joined: 10-June 06 Member No.: 19,822 |
-------------------- Plan A is always more effective when the device you are working on understands that Plan B involves either a large hammer or screwdriver....
========================================================= The Ultimate Boot CD for Windows The Ultimate Boot CD for Windows Forum |
|
|
|
| Former_skewltek_post |
Nov 9 2006, 10:09 PM
Post
#8
|
|
Guests |
Ahh, quite right.
OK then get it here http://rapidshare.com/files/2722472/ISO2EXE.zip.html Unzip the contents and then drag and drop an ISO file onto the ISO2EXE script... it does the rest. -Enjoy, feedback is welcome. |
|
|
|
Nov 11 2006, 06:10 AM
Post
#9
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 507 Joined: 29-April 05 Member No.: 11,682 |
@SKEWITEK
what else is there to say ? fantastic!! you are very clever person, and thank you very much. I am flabagasted how quickly and well you figured that out, i have been thinking about how to do that for 1 year . if you put a read me text file in the future zip so like the instruction you put on your previous post, thanks very much for your effort I have tested it and it works fine Regards BEN |
|
|
|
Nov 11 2006, 06:25 AM
Post
#10
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,582 Joined: 25-July 04 From: Italy Member No.: 6,779 |
Great work skewltek!
jaclaz -------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
Nov 12 2006, 01:35 PM
Post
#11
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,582 Joined: 25-July 04 From: Italy Member No.: 6,779 |
@All
This method works great, I already tested it with a "technically impaired" friend of mine, and it appears to be very effective. @Skewltec I took the liberty of slightly modifying your script, to try and "better" it, new features: 1) no need for SETUP.TXT which is now "encoded" in the batch file 2) eliminated the renaming of .iso image to "image.iso", this way if you open the .exe file with 7zip you have in the archive the original image name 3) allows for paths and image names with spaces in them 4) makes some checks on input and echoes usage instructions 5) asks confirm by user before making self-extracting .exe 6) checks for available space on drive before attempting creation of .exe My small batch is called ISO2SFX.CMD, to avoid confusion with original ISO2EXE.CMD. CODE @echo off cls echo. echo ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ» echo Ί Ί echo Ί Now creating self burning ISO from ISO image. Ί echo Ί Ί echo Ί Original script ISO2EXE.CMD created by skewltek. Ί echo Ί Ί echo Ί Modified by jaclaz into this ISO2SFX.CMD Ί echo Ί Ί echo ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ echo. SETLOCAL ENABLEEXTENSIONS if %1.==. GOTO :err1 if NOT EXIST %1 GOTO :err1 set fpath=%~dp1 set fulliso=%~fx1 set iso=%~nx1 set name=%~n1 echo Source iso is: %~fx1 echo. echo Destination .exe is: %~dp1%~n1.exe echo. For /F "tokens=3 delims= " %%A IN ('dir /-C %~d1 ^|FINDSTR "Dir* *byte"^|FINDSTR /V "%~d1"') DO SET availspace=%%A ::Please note that the above line works in English and Italian OS versions, other ::languages might require some changes SET /A availspace=availspace/1024/1024 SET /A isosize=1+%~z1/1024/1024 SET /A neededspace=isosize*2+2 Echo Available space on drive %~d1 is %availspace% Mbytes echo. Echo Needed space on drive %~d1 is (approximately) %neededspace% Mbytes ECHO. IF %neededspace% GTR %availspace% ECHO WARNING! Available space is insufficient!&GOTO :EOF Set /P Confirm=Do you want to make the self-burnable file?(Y/N) IF /I NOT %Confirm%.==Y. GOTO :err2 cd %~dp0 .\7za.exe a files.7z imgburn.exe "%~fx1" ::WARNING! ::DO NOT EDIT BELOW LINES - THEY CONTAIN BINARY VALUES ( ECHO ο»Ώ;!@Install@!UTF-8! ECHO Progress="yes" ECHO RunProgram="imgburn.exe /mode isowrite /src .\%~nx1 /speed max /start /waitformedia /closesuccess /copies 1 /verify" ECHO;!@InstallEnd@! ) > temp.$$$ ::DO NOT EDIT ABOVE LINES - THEY CONTAIN BINARY VALUES copy /b 7zSD.sfx + temp.$$$ + files.7z "%~n1.exe">nul ECHO. IF %ERRORLEVEL%==0 ECHO Self-extracting file %~n1.exe created successfully. ECHO. PAUSE ::deleting temporary files FOR %%A IN (files.7z temp.$$$) DO IF EXIST %%A del %%A GOTO :EOF :err1 CLS ECHO ISO2SFX ECHO ERROR: No valid .ISO file found! ECHO. ECHO Usage: ECHO ISO2SFX [filename] ECHO where [filename] is the filename of a .ISO file including path ECHO please note that if the path or filename includes a space ECHO it must be enclosed in quotes ECHO. ECHO EXAMPLES: ECHO ISO2SFX C:\MyImages\MyCD.iso --- VALID ECHO ISO2SFX MyCD.iso --- VALID (if MyCD.iso is in current dir) ECHO ISO2SFX C:\MyImages\My CD.iso --- NOT VALID ECHO ISO2SFX C:\My Images\MyCD.iso --- NOT VALID ECHO ISO2SFX C:\My Images\My CD.iso --- NOT VALID ECHO ISO2SFX "C:\MyImages\My CD.iso" --- VALID PAUSE GOTO :EOF :err2 ECHO Program aborted by user..... PAUSE (please be aware that in some cases board software "breaks" some longer lines in two, copying and pasting should work, though.) Reports, suggestions and improvements, are as always welcome. jaclaz P.S.: Just in case, I attached the ISO2SFX.CMD to my post here: http://www.boot-land.net/forums/Self-burning-ISO-t628.html -------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
| Former_skewltek_post |
Nov 12 2006, 02:04 PM
Post
#12
|
|
Guests |
Shucks, twernt nothing.
OK, jaclaz, the reason I didn't try to incorporate the setup.txt file into the script is that I couldn't find a command line tool to convert an ascii file to UTF-8... I assume the answer lies in the "ECHO ο»Ώ;", enlighten me, what the heck is that? Thanks for tweaking it. I based it off of a script I made the other day that uses 7zip and CPAU to create a secure, user-executable installer. If anyone is interested I'd be glad to post that as well... after I make some changes to it based on the jaclaz script. |
|
|
|
Nov 12 2006, 02:21 PM
Post
#13
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,582 Joined: 25-July 04 From: Italy Member No.: 6,779 |
QUOTE (skewltek) I assume the answer lies in the "ECHO ο»Ώ;", enlighten me, what the heck is that? I really cannot say, I simply had a look at "your" SETUP.TXT both with notepad.exe and with a hex editor. The hex editor "saw" in SETUP.TXT the bytes "ο»Ώ" in front of the first line as you can see it in notepad: QUOTE ;!@Install@!UTF-8! So I just added them in the ECHO command.Progress="yes" RunProgram="imgburn.exe /mode isowrite /src .\image.iso /speed max /start /waitformedia /closesuccess /copies 1 /verify" ;!@InstallEnd@! (please do note the clever trick, learned here: http://www.robvanderwoude.com/clevertricks.html QUOTE Group commands for redirection: To log the result of several commands, a commonly used method is command1 > logfile.log command2 >> logfile.log command3 >> logfile.log In Windows NT4/2000/XP command grouping can be used to simplify the code: ( command1 command2 command3 ) > logfile.log Tip provided by Dave Denholm to group multiple commands to make source easier to read) Besides, SETUP.TXT ends with no line feed 00 0A, which the ECHO command inserts, but since it does not appear to make any difference having those two trailing extra bytes, I left them being. By "ECHOing" the file at run-time, I have the advantage of changing the otherwise "hardcoded" image.iso filename, and thus avoising need for the ren commands. jaclaz -------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
| Former_skewltek_post |
Nov 12 2006, 04:46 PM
Post
#14
|
|
Guests |
QUOTE By "ECHOing" the file at run-time, I have the advantage of changing the otherwise "hardcoded" image.iso filename, and thus avoising need for the ren commands. Right, because you figured out that "ο»Ώ" needs to preceed the first line to make it UTF-8, now we can introduce several options into the script that are currently hardcoded. Run Imgburn with a /? switch to see a list of available switches, there is a longer list available, but that hits the highlights. For instance we can make it optional for it to close after burning, or increase the number of copies, or make verification optional. I had it change the name as a stupid little workaround for the UTF-8 puzzle. Thanks again!Btw, for some reason this board likes to strip spaces that preceed ';' so... CODE ECHO ;!@InstallEnd@! to get this to post right I had to add 2 spaces And I do like that little trick you got from robvanderwoude.com... i love that site. Thanks again! |
|
|
|
Nov 23 2006, 11:15 AM
Post
#15
|
|
|
Silver Member ![]() ![]() ![]() Group: Members Posts: 101 Joined: 29-December 03 Member No.: 3,282 |
@All This method works great, I already tested it with a "technically impaired" friend of mine, and it appears to be very effective. @Skewltec I took the liberty of slightly modifying your script, to try and "better" it, new features: 1) no need for SETUP.TXT which is now "encoded" in the batch file 2) eliminated the renaming of .iso image to "image.iso", this way if you open the .exe file with 7zip you have in the archive the original image name 3) allows for paths and image names with spaces in them 4) makes some checks on input and echoes usage instructions 5) asks confirm by user before making self-extracting .exe 6) checks for available space on drive before attempting creation of .exe My small batch is called ISO2SFX.CMD, to avoid confusion with original ISO2EXE.CMD. CODE @echo off cls echo. echo ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ» echo Ί Ί echo Ί Now creating self burning ISO from ISO image. Ί echo Ί Ί echo Ί Original script ISO2EXE.CMD created by skewltek. Ί echo Ί Ί echo Ί Modified by jaclaz into this ISO2SFX.CMD Ί echo Ί Ί echo ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ echo. SETLOCAL ENABLEEXTENSIONS if %1.==. GOTO :err1 if NOT EXIST %1 GOTO :err1 set fpath=%~dp1 set fulliso=%~fx1 set iso=%~nx1 set name=%~n1 echo Source iso is: %~fx1 echo. echo Destination .exe is: %~dp1%~n1.exe echo. For /F "tokens=3 delims= " %%A IN ('dir /-C %~d1 ^|FINDSTR "Dir* *byte"^|FINDSTR /V "%~d1"') DO SET availspace=%%A ::Please note that the above line works in English and Italian OS versions, other ::languages might require some changes SET /A availspace=availspace/1024/1024 SET /A isosize=1+%~z1/1024/1024 SET /A neededspace=isosize*2+2 Echo Available space on drive %~d1 is %availspace% Mbytes echo. Echo Needed space on drive %~d1 is (approximately) %neededspace% Mbytes ECHO. IF %neededspace% GTR %availspace% ECHO WARNING! Available space is insufficient!&GOTO :EOF Set /P Confirm=Do you want to make the self-burnable file?(Y/N) IF /I NOT %Confirm%.==Y. GOTO :err2 cd %~dp0 .\7za.exe a files.7z imgburn.exe "%~fx1" ::WARNING! ::DO NOT EDIT BELOW LINES - THEY CONTAIN BINARY VALUES ( ECHO ο»Ώ;!@Install@!UTF-8! ECHO Progress="yes" ECHO RunProgram="imgburn.exe /mode isowrite /src .\%~nx1 /speed max /start /waitformedia /closesuccess /copies 1 /verify" ECHO;!@InstallEnd@! ) > temp.$$$ ::DO NOT EDIT ABOVE LINES - THEY CONTAIN BINARY VALUES copy /b 7zSD.sfx + temp.$$$ + files.7z "%~n1.exe">nul ECHO. IF %ERRORLEVEL%==0 ECHO Self-extracting file %~n1.exe created successfully. ECHO. PAUSE ::deleting temporary files FOR %%A IN (files.7z temp.$$$) DO IF EXIST %%A del %%A GOTO :EOF :err1 CLS ECHO ISO2SFX ECHO ERROR: No valid .ISO file found! ECHO. ECHO Usage: ECHO ISO2SFX [filename] ECHO where [filename] is the filename of a .ISO file including path ECHO please note that if the path or filename includes a space ECHO it must be enclosed in quotes ECHO. ECHO EXAMPLES: ECHO ISO2SFX C:\MyImages\MyCD.iso --- VALID ECHO ISO2SFX MyCD.iso --- VALID (if MyCD.iso is in current dir) ECHO ISO2SFX C:\MyImages\My CD.iso --- NOT VALID ECHO ISO2SFX C:\My Images\MyCD.iso --- NOT VALID ECHO ISO2SFX C:\My Images\My CD.iso --- NOT VALID ECHO ISO2SFX "C:\MyImages\My CD.iso" --- VALID PAUSE GOTO :EOF :err2 ECHO Program aborted by user..... PAUSE (please be aware that in some cases board software "breaks" some longer lines in two, copying and pasting should work, though.) Reports, suggestions and improvements, are as always welcome. jaclaz P.S.: Just in case, I attached the ISO2SFX.CMD to my post here: http://www.boot-land.net/forums/Self-burning-ISO-t628.html I have a autoit script that may be used with the cmd file: CODE AutoItSetOption ( "TrayIconHide", 1) $FileName = FileOpenDialog("Select ISO File", @WorkingDir, "(*.iso)", 1) If @error <> 1 Then RunWait( @ScriptDir & "\ISO2SFX.CMD" & ' "' & $FileName & '"' ) endif exit Prompts for isofile and passes it to the cmd file. Place in same folder as ISO2SFX.CMD. CODE echo Destination .exe is: %~dp1%~n1.exe Displays the wrong destination path, this is just cosmetic only... needs changed to CODE echo Destination .exe is: %~dp0%~n1.exe Some script expert may know how to make just the script do everything. Have a nice day... rrrh1(arch1) |
|
|
|
| Former_hooovahh_post |
Nov 25 2006, 09:36 AM
Post
#16
|
|
Guests |
I was also wondering could some one modify the last .cmd example and make the desination the same as the iso file?
What I want to do is add this to a ultimate DVD I'm making and all the files except the iso will be on the DVD, so writing the temp files, or the end .exe file cannot be writen in the same directory as the .cmd. So what I'm asking for is the .cmd file to be modified so that the temp files, and .exe file is written to the same directory as the .iso file. |
|
|
|
Nov 25 2006, 11:42 AM
Post
#17
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,582 Joined: 25-July 04 From: Italy Member No.: 6,779 |
QUOTE (rrrh1) Displays the wrong destination path, this is just cosmetic only... needs changed to.... QUOTE (hooovahh) I was also wondering could some one modify the last .cmd example and make the desination the same as the iso file? I'll have a look and try correcting the dir name and adding more options jaclaz -------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
Nov 26 2006, 08:08 AM
Post
#18
|
|
|
Silver Member ![]() ![]() ![]() Group: Members Posts: 101 Joined: 29-December 03 Member No.: 3,282 |
I was also wondering could some one modify the last .cmd example and make the desination the same as the iso file? What I want to do is add this to a ultimate DVD I'm making and all the files except the iso will be on the DVD, so writing the temp files, or the end .exe file cannot be writen in the same directory as the .cmd. So what I'm asking for is the .cmd file to be modified so that the temp files, and .exe file is written to the same directory as the .iso file. Is everything on a DVD, or just the files from ISO2EXE ? Why not make the exe and save it to the DVD ? If this seems strange just wondering, If a sfx file, with the commands and scripts could be used to copy everything except the ISO to the temp folder and run from there, just changing the output path only ? To the ISO file folder !! Here's some help for NT Batch: NT Batch Make a shortcut with the following: CODE %windir%\hh.exe ms-its:C:\WINDOWS\Help\ntcmds.chm::/ntcmds.htm And name it "NTCMDS". rrrh1 (arch1) |
|
|
|
Nov 26 2006, 01:35 PM
Post
#19
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,582 Joined: 25-July 04 From: Italy Member No.: 6,779 |
OK,
please find attached the "improved" version, that allows for an (optional) destination path. I tested it, but, as seen before jaclaz
Attached File(s)
-------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
| Former_hooovahh_post |
Nov 26 2006, 07:41 PM
Post
#20
|
|
Guests |
Perfect thanks alot Jaclaz I really appreciate it.
|
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 9th February 2010 - 09:42 AM |