+1 vote

Documentation says:

Set the Engine value to the appropriate Active Script engine Prog Id that will be used to run the script. Two script engines are listed in the drop down, JScript and VBScript, but any installed script engine can be specified.

I want to use powerful C# language instead of dated JScript or VBScript. How to install script engine for C#?

File Locator is pure Windows application, it doesn't provide any versions for Mac or Linux, but way ahead of its competition in file search on Windows. And on Windows, the main programming technology is .NET Framework, and File Locator dutifully provides .NET class library for customers.

Why then when it comes to plug-in technology, which is vitally important to customize searches, we are limited to use JScript or VBScript? JScript is not supported by Visual Studio any longer, stopped in VS 2010. I can't debug JScript code. It is a scripting tech around obsolete COM/ActiveX, so it is slow. We need a way to plug in .NET assemblies to customize searches. Advantages:

.NET is fast. Scripting is slow
I have full support from Visual Studio to build and debug .NET code
I can call my normal business assemblies if I need more specific things (maybe even databases?)
Huge and excellent .NET Framework is at my disposal.
You can use .NET Reflection to plug-in third party assemblies with some specific well defined interfaces. Have a look at a couple of products from TechSmith that implement macros in .NET, for instance ClipboardFusion: https://www.clipboardfusion.com/Features/Macros/

File Locator is more than just a search utility, it is a platform for advanced searches in Windows file system. Hope you would consider .NET plug-in tech to develop File Locator Pro further.

by (220 points)

1 Answer

0 votes

At the moment the scripting functionality only supports installed scripting engine that are part of Windows Scripting, ie uses the interface IActiveScript:
https://docs.microsoft.com/en-us/scripting/winscript/reference/iactivescript

The initialisation of the scripting engine starts with CoCreateInstance using the Prog Id of the engine. For example, if you look in the Registry you'll see the ProgId for JScript which references the JScript Language scripting engine:

HKCR\JScript

There are various other scripting engines available, including Python, but I am not aware of a C# based scripting language.

I'll add your request to our Issue Tracker.

by (30.1k points)
...