sysprogs / WinCDEmu

GNU Lesser General Public License v3.0
1.12k stars 148 forks source link

[ISO creation] Filenames all in caps #19

Open jmfergeau opened 6 years ago

jmfergeau commented 6 years ago

I tested the ISO creation for a project that aims to be at least for Windows and Linux together. And I ran into a problem.

The files and folders names completely changes when converted for the iso. For instance, a folder named Songs becomes SONGS on the iso. All accents like é è à and so on are also replaced by _. This can be a problem for software making, especially for the Linux side.

I'm a big n00b at these things but I think it's because of something in the format generated for the ISO. Maybe adding a format that keeps the file/folder names intact and an option to switch between formats would be good.

JonnyTech commented 6 years ago

What did you use to make the ISO? WinCDEmu only mounts ISO's, it does not create them. You need to enable Joliet when creating an ISO from whatever software you used in order to see long file names and other characters.

jmfergeau commented 6 years ago

Yes, it does. WinCDEmu can do it (at least in its stable 4.1 version) Proof is here: It even has the program icon! the ISO creation window

The problem is that this only opens the dialog to save the iso file with no more options. And when it's doing it, it proposes to close the window and/or to mount the iso directly. There's no other options. Not even any joilet options. (I have another iso creator that is not free and the problem doesn't occur with this one)

Though, after some more tests, i faced more details. Very strange ones: If I mount the iso using WinCDEmu or with the native windows mounting feature, the problem occurs. But when I open it or extract it with a compatible archive program (like 7zip) the files are showing perfectly fine! I also tried to mount an iso not made with WinCDEmu. No problems occuring.

JonnyTech commented 6 years ago

Ah, I see, thanks for the correction. But the documentation only mentions creating an ISO from an optical disk. It does not mention creating an ISO from a folder. My system does not have the option to create an ISO when I right click a folder hence my confusion. I suspect that the context menu in your system is incorrect. If you want a free alternative to creating an ISO with Windows then I recommend ImgBurn.

DenisFR commented 5 years ago

Hello, I can confirm this issue. Now SysProgs have a tuto for that: http://wincdemu.sysprogs.org/tutorials/build/ I've made an iso of the same folder with WinCDEmu and CDBurnerXP and get a bigger file with WinCDEmu (3.514.362 vs 3.514.240)

Open them with 7zip (filenames are correct) and get file property showing diff: CDBurnerXP add comment property: System: Win32/Cygwin Volume: CDROM Application: MKISOFS ISO9660/HFS/UDF FILESYSTEM BUILDER & CDRECORD CD/DVD/BluRay CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING

Maybe this miss on WinCDEmu?

DenisFR commented 5 years ago

Got it. It's on /vmnt/vmnt.cpp#L123 Should be: mkisofsOptions = _T("-r -J"); To fix it without update WinCDEmu, add this String Value in your Registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\SysProgs\WinCDEmu] "MkISOFsFlags"="-r -J "

Wolvverine commented 4 years ago

And another problem , cut long file name. , with -J -r to 64 (without shorter)

-J Generate Joliet directory records in addition to regular iso9660 file names. This is primarily useful when the discs are to be used on Windows-NT or Windows-95 machines. The Joliet filenames are specified in Unicode and each path component can be up to 64 Unicode characters long. Note that Joliet is no standard - CD's that use only Joliet extensions but no standard Rock Ridge extensions may usually only be used on Microsoft Win32 systems. Furthermore, the fact that the filenames are limited to 64 characters and the fact that Joliet uses the UTF-16 coding for Unicode characters causes interoperability problems. -joliet-long Allow Joliet filenames to be up to 103 Unicode characters. This breaks the Joliet specification - but appears to work. Use with caution. The number 103 is derived from: the maximum Directory Record Length (254), minus the length of Directory Record (33), minus CD-ROM XA System Use Extension Information (14), divided by the UTF-16 character size (2).