我们应该部署scrrun.dll(Windows脚本运行时)吗



我们的VB6应用程序严重依赖于scrrun.dll(Windows脚本主机)的使用。直到一年前,我们还使用安装程序来部署这个dll。由于Windows Scripping主机应该是Windows的一部分,我们从安装包中删除了dll。然而,偶尔会有一些表面客户在他们的系统上有一个不起作用的scrrun.dll,我们必须帮助他们重新安装或注册它。

那么,我们应该把scrrun.dll放回安装包中吗?我们应该对安装进行一些检查吗?还是我们应该接受这样一个事实:我们必须为一些客户提供实际支持,以正确设置他们的系统?

不要试图将这些库作为正常设置的一部分进行部署。

Microsoft Scripting Runtime必须通过使用自解压.exe文件。对于提到的Scripting Runtime版本在本文的开头,分发它的唯一方法是使用位于以下位置的完整自解压.exe文件位置。。。

一些用户可能使用了较旧的反恶意软件套件,其中许多用户试图禁用脚本。不过,更有可能的是,一些用户自己或通过使用包装不当的应用程序来尝试包含这些库,并在卸载时盲目地将它们从系统中删除,从而破坏了他们的Windows安装(咳嗽,咳嗽-Inno)。

一段时间以来,所涉及的库都是经过定制的代码。这就是为什么古老的.CAB文件在很久以前就被"召回"了。没有一个单独的副本可以在任何随机版本的Windows上运行,也没有任何现代版本的Windows的redist包。正确的修复程序是系统还原或修复安装。

虽然这不能直接归咎于InnoSetup,因为它是脚本编写不当的结果,但它足够令人沮丧和常见,当它的签名被添加到反恶意软件套件中时,我不会哭。有太多写得不好的例子被太多人随意复制/粘贴。

我花了很多时间来消除卸载这些应用程序所造成的损坏,并对此感到厌倦。在可能的情况下,我现在使用隔离程序集进行自卫,这有很大帮助。Windows文件保护在防止系统文件被滥用方面也越来越好。

但总的来说,您最好避免在应用程序中依赖脚本工具。尽管编写替代逻辑可能需要一些时间,但它们并没有像直接代码那样做得那么好。

最新更新