DOpus 10: RAR no longer working [SOLVED]

Hi,

just upgraded to DOpus 10 (Worth waiting!). But now the content of RAR files are not shown anymore.

Before the upgrade I was able to open (Double-click) on a RAR file and the content was shown. Now the RAR file is opened by no content is shown (Yes, the RAR file has a content).

I did not change any options related to RAR (besides the upgrade). Bug or do I miss something?

Regards
xbprm

Does the attached test rar work okay?

It should just have a test.txt inside it.
test.rar (93 Bytes)

This rar works. Seems related to the rars itself. Did the rar library in DOPus change?

Do you have .rar added under prefs -> Zip -> zip files -> zip extensions? If so, try to remove it.

No, only .zip and . jar

Yes, the RAR code has changed. We're using 7z.dll instead of unrar.dll, although the problem is more likely to be in my Opus7Zip.dll code which talks to 7z.dll...

Could you find/create an example RAR and send it to me to look at?

Sent via PM

That file seems fine here.

In Opus, please type /home/VFSPlugins into the location field. Which files do you see? There should be only 7z.dll and opus7zip.dll

Silly question but did you reboot after the install?

Another thought, could some other program have the RAR(s) open (e.g. if they're being transfered at the same time)? If so, does it work if you copy the RAR to somewhere else?

Not sure if it would make a difference but it might explain why some RARs open for you but not others.

[quote="leo"]That file seems fine here.

In Opus, please type /home/VFSPlugins into the location field. Which files do you see? There should be only 7z.dll and opus7zip.dll

[/quote]

I found there THREE files. Besides the files you mentioned there was also a file called 7zvfs.dll. Do not where this comes from: Old DOpus version?

After removing this file and restarting DOpus it works.

See screenshot of file properties


That's the plugin from this thread.

Maybe it was handling the RAR files and getting priority over the Opus 10 archives plugin.

The strange this is, I anticipated this and made sure Opus would not load 7zvfs.dll... Maybe that check isn't working. I will take a look, but it's good to know that simply deleting it solves things. (There's no reason to keep the old DLL with Opus 10 as the new archives plugin should replace it completely.)

Just checked on a different install of DOpus for the existence of the dll in question. Not there and all RARs open fine.

Thanks, Leo.

Yes, that DLL was never shipped with Opus so it will only be there for people who chose to install it.

I've looked at the code that should have been blocking the DLL and found why it wasn't. It will be fixed in the first update, in case it helps avoid a similar problem for anyone else. I've also added a note to the end of the announcement text here.

Thanks for your help tracking it down!

Glad to help :smiley:

I don't know how extract to current folder .rar file with WinRar.
This script works with Opus 9 but now with Opus 10 all files extract to system32 folder.
Can You help me? thx

[url]WinRAR Compress/Decompress Buttons (and other)]

<?xml version="1.0"?> <button display="both" effect="off"> <guid>{AEA5BD98-5A20-4387-A206-2DC53040BC03}</guid> <label>Extract here</label> <tip>Extracts files to current directory</tip> <icon1>C:\Program Files\WinRAR\WinRAR.exe,0</icon1> <icon2>C:\Program Files\WinRAR\Uninstall.exe,1</icon2> <function type="normal"> <instruction>"/programfiles\WinRAR\WinRAR.exe" x {file}</instruction> </function> </button>

There's no need to use WinRAR. Use the build-in Opus extraction commands, the same as for any other archive type.

The default toolbar has several different ways to extract archives in the menu off the Archive Files button.

(But to answer your question, you either need to add to the commandline to tell WinRAR to extract to {sourcepath} or put "cd {sourcepath}" (without the quotes) on the first line of the command. (If the button editor is in single-line mode, you can just put {sourcepath} into the Start In field for exactly the same result.)

Edit: Corrected {sourcedir} -> {sourcepath} -- Sorry about that!

Work with "cd {sourcepath}"