I needed to reinstall a package, DrRX.bpl. I removed it from the package list, and trying to install a newer version of the same package. I've replaced the old component's dir with the new one.
When I open the new DrRX.bpl and click install, I get the error
"Package C:\Program Files\Borland\BDS\3.0\components\rx work\output\DrRx.bpl cannot be installed because another package with the same basename is already loaded (DrRx.bpl)"
I cannot find any reference to DrRX in my package list, DrRX does not appear in the Tool Palette. How do I locate where Delphi thinks this is installed, and remove it, so I can reinstall the package?
You probably have an entry for this in your "Known Package" entry in your registry that is, for whatever reason, not working correctly.
Close RAD Studio.
Run REGEDIT.EXE and then go to
HKEY_CURRENT_USER\Software\Embarcadero\RADStudio\8.0\Known Packages
And see if there is an entry for DrRX.bpl. If there is, remove it, and try to install again.
What I have experienced myself many times is that after removing a package from the IDE, a reference remains in the Package Cache registry key under the Delphi registry key (e.g. HKEY_CURRENT_USER\CodeGear\BDS\7.0 for Delphi 2010). Though the package is no longer visible in the IDE, trying to install another package with the same name or a package containing a component with the same name causes errors until I delete the package that I uninstalled from the Package Cache registry key. It seems the cache is a bit too persistent.
Did you search the whole HD for others? Try that. If you find one, try to move/delete it. If you can't, then Delphi has got it.
Related
This issue is driving me crazy. I'm trying to compile and install The QR Designer from QuickReports 6. I have an issue just with the one package. When I right the package in the IDE > Install the IDE gives me:
Can't load package C:\xe10_3\QRDesign\Win32\Debug\dclqrd_DXE10_3.bpl.
The specified module could not be found.
But the exact file is there.
I've also tried installing it via the menu under Components > Install Packages and then choosing the BPL from there, with the same issue.
I've tried to use Process Monitor as on this post here to find the issue:
Delphi Can't load package the specified module cannot be found
I couldn't fix the issue, but what I did pick up from Process Monitor was that some process was looking for the package here:
Computer\HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Package Cache\dclqrd_DXE10_3.bpl
That key didn't exists. I tried manually creating the key, but that didn't do a thing.
Any ideas?
UPDATE
Here is the list of packages:
As you can see, dclqrd_DXE10_3 is dependant on two others. Which I already built and installed. I removed its references and re-added them again now, to make sure the references are sound. I guess its like Remy said, the Specified module not found is probably not referring to dclqrd_DXE10_3 although I don't know what other module it could be referring to.
To install a package successfully in IDE, follow the steps:
Open the dpk/dproj/groupproj file in IDE
Build the package(s) for Windows 32-bit platform.
IDE itself is a 32-bit applicaton, so it should match.
Normally, it will build all dependent/required packages
Check if all chain of BPL & DCP files are generated in package Output directory.
It defaults to $(BDSCOMMONDIR)\Bpl & Dcp folders, but can be changed individually for each Package in Settings.
PBL packages are like DLL files. In order to load them, it requires all dependent BPLs.
If you have custom package output paths:
Check if your DCP output path is included in Tools\Options\Language\Delphi\Library Library Path for Windows 32-bit platform
Check if no duplicates of outdated compiled packages in default $(BDSCOMMONDIR)\Bpl & Dcp directories
Add the paths to library source pas files in Tools\Options\Language\Delphi\Library Browsing path or Library path
In some specific cases, if the package requires some extra dll-s like DB Client libraries, check if these dlls are 32-bit and are loadable, like included in %path% environement variable.
Note, some libraries offers package installer tools, that automagically do all mentioned things for you.
Also, there are universal package installer tools for quick working environement setup in one click.
I don't know why this fixed my issue, but it did.
The output directories for the bpl and dcp was set to be $(Platform)\$(Config)
The project files for the different packages exists in the same folder so the above config was supposed to be the debug folder or the release folder. Why only this package was thrown off I still don't know, but since changing the above packages to have a fixed path suddenly I could now install dclqrd_DXE10_3.bpl.
Thank you all for helping.
I've uninstalled my RAD Studio 10.2.2 and installed 10.2.3 in my Win10 development VM. Along the way I uninstalled all the previous 3rd-party libs, including the Jedi GetIt packages, and per the instructions got rid of all the old Jedi source and DCP/DCLs. I'm attempting to install them back into 10.2.3 via GetIt. The JCL libs install fine, but when I try to install JVCL, the installation batch file hangs after compiling the installer and the VM comes to its knees. I rebooted, started taskmgr and watched as the batch file ran - it appears to go into a loop creating many instances of msgfmt. I've tried removing it all again, downloading and installing the 3.8 version myself and running the install batch file by itself, same problem; then backing up to the 3.6 version that had installed OK in 10.2.2, and it does the same thing. If I edit the batch file to skip the language-setup section, the batch file completes OK, but trying to re-run the GetIt update causes it to re-download and replace that batch file. :(
The installer does compile before the languages part of the batch file is reached, so I tried running the installer directly. I assume I'm not passing it cmd line info it needs, because it compiles the 64-bit libs fine but chokes immediately on compiling the 32-bit version of JvCore250.bpl with an unspecified compile error.
Anyone else run into this? Is a solution known?
Turns out to ultimately be a pathing problem. When multiple installations of the IDE exist on a machine (e.g. my VM has or previously had D2007, XE2 and 10.1 on it), the PATH environment variable can be too long - edit the PATH in the system to remove the old/stale paths. Then make sure that the library paths in the IDE includes $(BDSLIB)\$(PLATFORM)\release or you'll get "can't find RTL" when building the packages.
For me the problem is generated from the msgfmt.exe of dxgettext.
msgfmt.exe generates multilanguage messages, for a multilanguage support of jvcl installation.
For the specific problem of msgfmt.exe try to see this: dxgettext and Windows 10
I resolved the problem opened the install.bat file in jvcl folder, and I commented (with ::) every line where the msgfmt is executed.
Attention:
If you use getit I suppose you have to open the folder where jvcl is downloaded and search install.bat (I didn't use getit)
Instead I downloaded jvcl directly from github in my component folder, and I did what is written above in that folder.
Im trying to use an ASP.NET web application downloaded from the internet. Im looking for a way restore all the dependencies/packages in a quick way (clean and building the project did not solve it), rather than installing them via nuget one by one. Is there anyway to download and install/resolve (version issues) all the necessary packages at once?
I tried below package manager console commands, but they did not resolve the package conflicts.
Update-Package -Reinstall,
nuget install packages.config and other solutions here - How do I get NuGet to install/update all the packages in the packages.config?
[resolve/install packages]
Can someone help? Maybe Im using wrong commands or doing something wrong.
If you go into Tools > Nuget Package Manager > Manage Nuget Packages for Solution, it will show a yellow bar at the top asking you if you want to restore missing packages. That's a manual way, but there are also some important VS options you want to look at as well, one being an option to restore packages on build.
There is a generic restore option as well from the package manager console, and that should have worked if it was simply a matter of reimporting the missing packages...
Update-Package -reinstall
You can try to delete the folders, than reinstall using these options. However, is there a possibility there is a .NET framework version mismatch with the version of the DLL's? Maybe some of the DLL's need updated?
Remove package folders from Package folder - don't remove package.config. Next, build you application - nuget should automatically restore all packages.
I have downloaded the latest build of the Delphi Spring Framework. As directed in the readme file, I ran Build.exe and selected my two versions of Delphi (XE5 and Seattle). In neither Delphi installation can I see that a package has been installed nor my library search path modified. What am I missing or is there something else I must do to install and use it?
Thanks in advance for your help.
There are no packages to install in Spring4D because only designtime packages are actually installed (as in they show up in the IDE). Everything the Build.exe does it compile the runtime packages for the selected Delphi versions and add the dcu folder to your library path (if you have checked that in the options).
The registry keys where it looks for the library path is specified in the Build.Settings.Compilers.ini (which are default values that every Delphi installation has).
I tried to download the OmniThread lib via GetIt when Delphi crashed.
Other packages downloaded, compiled and installed just fine, so I guess it's a once off.
Now GetIt refuses to install OmniThread, because it sees the partial download, assumes all is well and starts compiling.
This breaks with a compile error and GetIt does not allow me to reset the state and clean up the download.
Where does GetIt store its downloads and how do I clean this out, so that GetIt will redownload the source from scratch?
Luis Navarro from Embacadero just explained to me:
Close the IDE, then delete the OmniThread folder from MyDocuments\Embarcadero\Studio\17.0\CatalogRepository
After that, you have to edit the registry and delete also the Omnithread folder from HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0\CatalogRepository\Elements
This worked like a charm.
Note that for me there was no registry key in the above path for OmniThread yet. Perhaps the key only gets written upon successful installation of the package.
In that case you only need to delete the PackageName directory and reinstall.