Hello,
how to use MicroStationDeveloperShell.bat? I already read the readme file and watched the bentley youtube tutorial but i have no clue how to get it working. Maybe i missed something.
2. The second thing i tried was using the MicroStationDeveloperShell.bat directly with the following command: MicroStationDeveloperShell.bat "E:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\", "E:\Program Files\Bentley\MicroStationCONNECTSDK\"
The only result i get is a repeating error message: The command "E: \ Program" is either misspelled orcould not be found.
Any suggestions what i'm missing?
Thanks
Christian
Christian Jührendt said:The only result i get is a repeating error message: The command "E:\Program" is either misspelled orcould not be found
That's a Windows message. You passed something like E:\Program Files\folder name\etc to a Windows app. such as Dir. Windows interprets the first space as a delimiter. You have to wrap paths or file names that contain spaces in double-quotes...
E:\Program Files\folder name\etc
Dir
E:\>Dir "E:\Program Files\folder name\etc"
Regards, Jon Summers LA Solutions
Thank you for your reply. What i passed to the batch file is "E:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\" and "E:\Program Files\Bentley\MicroStationCONNECTSDK\" so its wrapped with double-quotes.
If i call the MicroStationDeveloperShell.bat without any parameters the error "The command "E:\Program" is either misspelled orcould not be found" is raised too.
Blanks are worse. For this reason, wie try to install MicroStation and the SDK into paths without blanks on computer for development.It save a lot of headache.Especially if you look at this:dir "c:\Program files\Microsoft\Some Program.exe" butstart c:\"Program files"\Microsoft\"Some Program.exe"
Mit freundlichen Grüßen / Best regards Volker Hüfner
| AB_DATE Engineering Software | ab-date.de |
Answer Verified By: Christian Jührendt
Thanks for you reply. The blank in the path is the problem, i reinstalled microstation and the sdk to a path without blanks. Wondering why the Bentley standard path contains blanks.
Thanks for your hint.
Christian Jührendt said:What i passed to the batch file is "E:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\"
One ugly way to avoid the problem is to use DOS-style mangled names. This article tells you more.
Volker Hüfner said:there exist some "mangle.bat" from Robert Hook thats really helpful
My article tells you how to create mangled path names manually and about mangle.bat.
mangle.bat
Christian Jührendt said:Wondering why the Bentley standard path contains blanks.
Because, as a Microsoft partner, they must conform to Windows standards. MicroStation itself is no problem; it's the SDK that remains sensitive to paths-with-spaces. Spaces have been permitted in Windows paths since Windows NT was introduced in 1993.
Bentley is Gold / Platin / Iron or what ever partner of Microsoft. So they need to support the standards of Microsoft Windows.
BTW there exist some "mangle.bat" from Robert Hook thats really helpful.
Because paths with spaces are standard Windows feature. The problems discussed here are not Bentley or MicroStation problem, but in my opinion more a heritage and consequence of using batch scripts in Windows shell. Compilers, Visual Studio and other tools have no problems with the spaces.
I use standard MicroStation location and have not any problem with spaces (ok, at some places I use old 8.3 syntax, but not everywhere), so it's often a coincidence of more settings and issues.
With regards,
Jan
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Hi Christian,
I presume the issue you are seeing is due to not having Microsoft 8DOT3 enabled for the file system drives your MicroStation product and MicroStation SDK directories are installed under. Most existing make files and build tools (not passed properly quoted paths with spaces) to date otherwise rely on this (legacy) behavior at this time.
As a test/confirmation, can you provide the output from this command? I will likely add a similar test as part of future SDK validation step.
for %a in ("%SDK%" "%MS%" C: D: E:) do @fsutil 8dot3name query %~da >nul && echo Location: %a (8dot3name: ENABLED) || echo Location: %a (8dot3name: N/A)
I would suggest to enable Microsoft 8DOT3 file system support for both the MicroStation and MicroStation SDK product directories then run the MicroStation Developer Shell as administrator again and try to recompile the delivered examples (buildallexamples.bat) once enabled.
To enable Microsoft 8DOT3 file system (drive) behavior and to create 8DOT3 file system entries in the FAT please refer to the Microsoft FSUTIL.exe online help topic.
HTH,Bob
Thanks for your reply. The result is the following:
Location: "%SDK%" (8DOT is DISABLED)Location: C: (8DOT is DISABLED)Location: D: (8DOT is DISABLED)
But a hint somewhere in the SDK readme would be really nice.
Take care, the script from Robert Hook will not work on a German Windows ;-)Just try: fsutil 8dot3name query c: with every Drive Letter you use, You will get some German notation like:
fsutil 8dot3name query c: Der Volumestatus ist 0 (8dot3-Namenerstellung ist aktiviert). Der Registrierungsstatus ist "2" (Standardeinstellung "Pro Volume"). Aufgrund der oben angegebenen Einstellungen ist die Erstellung von 8dot3-Namen auf "c:" aktiviert.