New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intergate Multipar into Shell doesn't work! #86
Comments
It might fail to register the DLL. (If it was registered to Windows Explorer, you cannot delete the DLL.) It works well on my PC. (Windows 10 22H2 19045.2728) It should work on old Windows OS, too. You see which step it fail by Resistry Editor. It creates key: It creates key: It sets default value: It sets It creates key: It sets default value to It creates key: It sets default value to (If possible) It tries to set value Please check these Resistry keys and values. If it stoped in the middle of the steps, something error happens at that time. If they are set correctly, Windows OS may block the DLL. Please check your the following OS setting. |
All keys has been created successfully expect the last one which is: But I have added it to this one but still not working: |
What message-box is shown, when you type If you get a error, you may need administrator account or privilege temporary. I found some incidents on the Internet. You receive 0x80070005 error when you try to register a DLL by using Regsvr32.exe DllRegisterServer failed error code 0x80040201 schmmgmt.dll How is installed directory of MultiPar ? The length of full path (include DLL filename) must be less than 260 characters. Also, Shell Extension DLL Do you use other Shell Extension DLLs ? There may be conflict. If another DLL consumes space of entries, other DLLs may not work. It depends on the order of loading DLLs. In this case, unregister another DLL may help. |
MultiPar is installed on the root of the hard drive partition "D:\MultiPar" |
So, there seems to be no problem in register. It may fail to add item on the context menu. Did you try restart Windows Explorer after regiser DLL ? On old PC, I logout & login Windows OS again to update Explorer settings ago. You may try simple menu by adding a new line on
This options (8, 16, 32) will omit icon and reduce entries. When you changed behavior, you need to restart Windows Explorer to update. If something error happens in those feature, it may work without them. When all of them don't help, I can make a debug version to save running steps. Then, I will be able to see which step it did or could not. It depends on how eager you want to test. |
Tried that and still not working.. |
I made debug version DLL. I put the package (ShlExt_sample_2023-03-19.zip) in "MultiPar_sample" folder on OneDrive. Though I'm not sure it works, it's worth to try. |
Thanks for the file, tried it but still not working also there is no "debug.txt" file after registering MultiParShlExt64.dll using regsvr32.exe |
I found an interesting point, when I saw debug output from Shell Extension DLL. It returns short file name (8.3 format) for very long path (exceed 260 characters). Normally, Windows OS stores short filename (8.3 format), too. But, someone may disable the feature for SSD. How is your setting of drive ? If the path length is the problem, it may work for short filename. (Or it may work, when full path length is not so long.) Did you test Shell Extension behavior with short filename ? I made debug version DLL to save selected file's path. I put the new package (ShlExt_sample_2023-03-20.zip) in "MultiPar_sample" folder on OneDrive. If it doesn't make "debug.txt" still, it fails former than checking file path. |
Still the same issue with no "debug.txt" file. |
I found an article on the internet. |
Only "Approved" and "Cached": |
Oh, I see. Then, it should be loaded. So, I felt that it happened to be unloaded before running. I slightly changed my source code after reading other samples. I made debug version DLL to save more information. I put the new package (ShlExt_sample_2023-03-20b.zip) in "MultiPar_sample" folder on OneDrive. If it doesn't make "debug.txt" still, it fails to call DLL somehow. |
Unfortunately still the same with no "debug.txt" file.. |
While Windows Explorer is loading a DLL, you cannot delete the DLL. If you can delete a DLL, it means that the DLL isn't loaded yet. When regsvr32 command writes registry entries, the target DLL isn't loaded yet. Windows Explorer reads the registry for your selected file type. In this case, MultiPar Shell Extension is set for Now, problem is that Windows Explorer doesn't load the DLL on your PC. Does your using Windows Explorer 64-bit ? There are both 32-bit and 64-bit Windows Explorer on 64-bit Windows OS. If you use 32-bit application, it doesn't load 64-bit DLL. (However most users don't use 32-bit Explorer on 64-bit OS.) You may see which version is running on Task Manager. It may be blocked by per user setting. On Registry Editor, |
I'm using the 64-bit version, also "Blocked" key doesn't exists for both registries "HKEY_LOCAL_MACHINE" and "HKEY_CURRENT_USER". |
Then, their difference may cause this problem. MultiPar Shell Extension is different from most others. It saves data under I put the new package (ShlExt_sample_2023-03-23.zip) in "MultiPar_sample" folder on OneDrive. You need administer privileges to register. I used |
That's impressive, it works now finally! Thank you for your time and efforts finding and fixing what causing this issue. |
If it finally fixed would be great! Tried and it's work's for me too. |
Oh, I see. Thank you for test sometimes. Windows Explorer seems to change behavior (which DLLs to load) by user's privileges. For compatibility with other users, I made a function to check privileges. Only when a user has administrator privileges and UAC (User Account Control) is disabled, DLL registers data under HKEY_LOCAL_MACHINE, instead of HKEY_CURRENT_USER. So, it works samely (write/read HKEY_CURRENT_USER) for most users. Even whan they register DLL by "Run as admin under UAC enabled", it uses HKEY_CURRENT_USER. But, it will write/read HKEY_LOCAL_MACHINE for you, because you disable UAC. I put the updated package (ShlExt_sample_2023-03-23b.zip) in "MultiPar_sample" folder on OneDrive. It doesn't write debug output on file "debug.txt", as it did run properly. If it works well, I will release the new DLL at next version. Please test it. |
ShlExt_sample_2023-03-23b.zip this one seems working too like previous. |
Yes, this version works too. I see that in "ReadMe" you reduced the number of using command values in preparing for the new release. |
Thank you for checking the behavior. I spent long time to fix this bug, hehe.
Users can change items on menu. Add below line under |
For me with ShellExtension=64 still sub-menu is. Anyway for Windows 11 made with Custom Context Menu in main menu without sub-menu, it's much faster now for start. |
Does the DLL read I made sample to write path on "debug.txt". In the debug output, there will be a line like; I don't know how context menu will be on Windows 11. |
Ok, single menu works now by using ShellExtension=64 but there is no icon in the menu. MultiPar.ini |
Oh, I happened to disable icon, too. New sample will disable sub-menus only. I put the new package (ShlExt_sample_2023-03-24.zip) in "MultiPar_sample" folder on OneDrive. I'm sorry for bothering you. |
All works well now 👍 |
Since it's now fully working, Can you make MultiPar context menu visible when clicking on background folder? ( to add files and folders from the same path when running it from context menu ) |
I'm not sure what you want to do. When you click "background folder", you don't select any files. Then, MultiPar doesn't know which file to open. Sample picture of example usage will be helpful. |
|
If you want to select all files in a folder, you just select the parent folder. When you send path of a folder to MultiPar, it will search all files in the folder. You can select a folder and send to MultiPar by using context menu or |
Intergate Multipar into Shell doesn't work..
Used the MutltiPar GUI or even the manually command "RegSvr32.exe MultiParShlExt64.dll"
The dll file doesn't get registered/applied and also it can be deleted!
It dosn't show error or anythings when trying to register/intergate it...
Windows 10 x64 21H2 build 19044.1288 with Windows Feature Experience Pack 120.2212.3920.0
Edit:
UAC is also disabled.
The text was updated successfully, but these errors were encountered: