F1027 Unit not found: 'System' or binary equivalents (.dcu) after update

Hello,

It's not the first time but TMS scripter update (7.28 -> 7.30) add wrong path in Delphi that give this error when you try to compile any project :
"F1027 Unit not found: 'System' or binary equivalents (.dcu)".

Why ?
Because it's add path like in Language/delphi/library (debug DCU) :
"C:\Comp\TMSScripter\ackages\d11\.\Win32\Debug"

And Delphi doesn't like it !

Of course I fix it removing "\." in this path but how TMS Scripter installer can add such a path ?
It's not the first time I have such a problem in my previous update 7.27 -> 7.28.

I have more than 50 components libraries installed on my Delphi but only problem wih the TMS scripter update since a few version...

There absolute nothing wrong with the path. It's a valid path, and actually if I remember correctly, the latest installer versions don't include the .\ part.
But it doesn't matter.

Hello Wagner,

1- How valid is it?


In English "Windows fails to find "C:\Comp\TMSScripter\Packages\d11\.\Win32\Debug"

But this work perfectly :
"C:\Comp\TMSScripter\Packages\d11\Win32\Debug"

What happen if I try to open a file in this path from Delphi, if it's a wrong path for Windows Explorer ?

2- Look my screenshoot if '\.' is ignored this path exists 2 times as :

"C:\Comp\TMSScripter\Packages\d11\Win32\Debug"
and
"C:\Comp\TMSScripter\Packages\d11\.\Win32\Debug"

But in Delphi you can't add 2 times a same path for libraries. It's not a problem ?

Same problem with path like in Library path :
"C:\Comp\TMSScripter\packages\d11\.\Win32\Release"

3- The problem it is your installer break my Delphi library Path with " [F1027 Unit not found: 'System' or binary equivalents (.dcu)". I have not such a problem with other TMS components libraries. Maybe because an old installation ? But a clean one since Delphi 11 first version.

Or maybe it's a side effect because of long path and when I delete your duplicated path it's work ?

So why you installer add such a complicated (and not very clean) path and so add twice a same path !

It will work, as you can simply test yourself if you are interested.

It's not a problem ?

Probably not, but in any case, the installer doesn't add the path two times. Probably you did it, so it's up to you to remove it or deal with the consequences.

The problem it is your installer break my Delphi library Path with " [F1027 Unit not found: 'System' or binary equivalents (.dcu)".

This has nothing to do with the dot.
If you want us to investigate this issue, please:

  1. Uninstall the products you are claiming to break your system.
  2. Clean up your system
  3. Make sure everything is working fine.
  4. Save the current library path you have before installing.
  5. Install the products that are supposed to break your system.
  6. Confirm that the problem arises (please let us know what exactly you are doing when the error appears)
  7. Save the current library path after installing.

Then please send us screenshots of the process, especially for items 3 and 5, and also the exact library paths you had before and after the installation.

Believe me I have no time to uninstall my working Delphi with more than 50 components libraries and a big software to manage.

But the question is why your installer add in DCU path :
"C:\Comp\TMSScripter\Packages\d11\.\Win32\Debug"

when already exists :
"C:\Comp\TMSScripter\Packages\d11\Win32\Debug"

And same in libraries path :
"C:\Comp\TMSScripter\packages\d11\.\Win32\Release"

when this path already exists :
"C:\Comp\TMSScripter\packages\d11\Win32\Release"

These path are handle by the same way but in Delphi you can't manually add same path. So why your installer add an existing path ?

I didn't ask you to uninstall Delphi, but just the offending product. I believe you are blaming TMS Scripter installer for that, so just uninstall TMS Scripter at step 1, and reinstall TMS Scripter at step 5.

But the question is why your installer add in DCU path :
"C:\Comp\TMSScripter\Packages\d11.\Win32\Debug"

when already exists :
"C:\Comp\TMSScripter\Packages\d11\Win32\Debug"

Because they are different strings and thus considered different paths. The point is: you should NOT have the path you claim "already exists", in the first place. Why is it there, if the product is not installed? Probably you added it manually. You shouldn't.

I didn't ask you to uninstall Delphi, but just the offending product. I believe you are blaming TMS Scripter installer for that, so just uninstall TMS Scripter at step 1, and reinstall TMS Scripter at step 5.

Same problem. It is that I have done the first time after this problem occurs. I have retest it again (I use VM to help).

you should NOT have the path you claim "already exists"

Maybe when I have installed some of your fixes or something else. My first clean installation is when I install first Delphi 11 version. Not sure that all the update installation of scripter have worked fine each time !
But are you sure that you old installer add this, ugly :stuck_out_tongue:, "\.\" ?

But whatever you want :
"C:\Comp\TMSScripter\Packages\d11\.\Win32\Debug"
is not that I call a clean and very easy readable path (not easily useable like confirmed Windows explorer which don't understand it).
I'am not sure that it's help to speed up Delphi especially with around fifty libraries installed.

why not :
"C:\Comp\TMSScripter\Packages\d11\.\.\.\.\.\.\.\.\.\Win32\Debug"
or
"C:\Comp\TMSScripter\Packages\d11\..\Win32\..\Win32\..\Win32\..\Win32\..\Win32\Debug"
:stuck_out_tongue:

But maybe it's a sie effect of Delphi and dcc32.exe command line limit reached. Because in your "setup\install_2023_11_07.log" command line do 12333 characters. With 2 path in double bonus...

I didn't understand. Did you went through the test process I asked, or not? If yes, can you provide the requested results?

But are you sure that you old installer add this (ugly :stuck_out_tongue: ) "." ?

It adds the path with the dot, yes.

why not :
"C:\Comp\TMSScripter\Packages\d11.........\Win32\Debug"

That is also possible, are you requesting that we change our installers to add a path in that format?

But are you sure that you old installer add this "\.\" ? Because this problem seems to be since version 7.28.

Yes installation after uninstall last one. But I think I have a side effects because of long library path. And delete the two path in double solve the problem.

But I have also this problem "Can't create file because already exists"
TMSInstallationError64bits
Your TMS scripter is the unique component libraries I use which use Symlink for .bpl files...

So I need to manually delete all your symbol link TMSScripter_*.bpl in :
C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Win64
Yes only for 64 bits ones. Maybe your Uninstaller doesn't delete it ?

And yes I'am an Administrator user of my Windows 10. But TMSSubscription is not started as administrator...

Yes.

But I have also this problem "Can't create file because already exists"

Please refer to: Windows Fall creator update - #4 by wlandgraf

The Windows 10, where my Delphi is running, is a version 22H2 (19045.3570). So it's the last major one (october 18th 2022) :

And all the last minor updates are installed. So the problem exists on all Windows 10 versions ?
Because I need to manually delete these files at each new scripter update.

It might happen sometimes in any Windows version, yes.

No, that's not something that happens often.

A post was split to a new topic: Unit not found when installing TMS VCL UI Pack

After help from Embarcadero and Barnsten it turned out that some other component had some invalid path in the library. So in my situation it had nothing to do with TMS although the problem only ocurred when installing updates from TMS.

First I removed the component that had a faulty entry in the libary. But that still didn't completely solve it, as I still couldn't install updates of TMS components.

After looking in the install log from the TMS component I saw that certain values of removed components were still disallowing installation.

In the end I had to clean up specific (parts of) values in the Windows registry that had invalid (parts of) data of (removed) components:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Component Toolbar\Mapping
HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Help\HtmlHelp1Files
HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\History Lists\Library\DelphiWin32\hlLibraryPath
HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Library\Win32
HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Library\Win64
HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\ToolForm\Mapping

Hope this help finding the issue on your end.

1 Like