Hi,
The recommended way is to use .DLLs because they have several advantages over VBScript or JScript custom actions. Here is a related
MSDN article you can refer to.
However, depending on the complexity of the custom action and the experience of the developer, in some cases a more efficient solution would be to use VBScript or JScript custom actions.
All the best,
Mihai