我需要更改路径并使用新更改的路径

时间:2013-12-05 15:35:12

标签: dll inno-setup

我们正在使用一个非常古老的英特尔数学库(nsp.dll和系列),并且必须在Windows PATH变量中指定它的位置。以前我们在Windows / System32文件夹中安装了这些dll,所以一切都很好。现在我们想在另一个文件夹中安装这些dll,原因是我们正在迁移到Windows 7并且不想将dll放在System32文件夹中。我找到了关于如何更改PATH变量的SO答案(谢谢你),这确实有效。安装完成后我检查了PATH并且我们的文件夹没有添加到PATH中,我检查了reg键并添加了我们的文件夹WAS。但是......看来当我们注册使用这些dll的OCX时,路径还没有改变。当我重新启动时,PATH有我们添加的路径。

所以,似乎我处在catch-22中,我需要更改PATH并在安装过程中使用新的PATH。我是否需要重启以及重启后如何注册OCX?或者还有另一种方式吗?

重启后,以管理员身份运行cmd允许我在新文件夹中注册OCX。但是我希望安装程序自动执行此操作。

感谢。

1 个答案:

答案 0 :(得分:0)

确保脚本中有以下设置:

[Setup]
ChangesEnvironment=yes

这将允许PATH更改在不重新启动的情况下生效。

然而它只会影响shell启动的新进程。如果您有一个现有的cmd窗口,或者您尝试在安装结束时使用shellexec标志启动应用程序,它仍会看到旧的PATH。


并且双重然而:您无法合法地更改安装和注册COM DLL或OCX文件的路径。必须毫无例外地将这些安装在供应商指定的位置。因此,无论如何你必须继续在{sys}安装它。 (至少如果你仍在使用系统范围的注册。有一个替代方案可以让你移动它,如果你查找"免注册COM",但它附带了很多警告并且很少值得努力。)

还要注意"因为Windows 7"无论如何都不是移动东西的正当理由。