我们使用 HTA 文件来构建安装 CD,以便我们可以显示一些介绍性信息和指向不同安装选项的链接 - 每个链接都指向相应的 setup.exe 等文件。这在 Windows 7 之前运行良好,但在 8.1(-未尝试 8.0)上失败,并出现错误“找不到指定的文件”。原来这是因为当前目录现在是 C:\Windows\System32,而它曾经是文件所在的目录 - 在 CD 驱动器上,因此相对路径适用于指向其他文件的链接光盘;现在他们没有。
换句话说,在 hta 文件中使用此代码:
<script type="text/javascript" language="javascript">
function RunFile(appname)
{
WshShell = new ActiveXObject("WScript.Shell");
alert( WshShell.CurrentDirectory );
WshShell.Run(appname, 1, false);
}
在 win 8.1 上,我们在警告框中看到 C:\Windows\System32,因此 ..\ourproduct\setup.exe 等相对路径不再起作用。
这是一个错误吗?有什么想法可以解决这个问题吗?