【问题标题】:File getting copied to SysWOW64 instead of System32 while installing INF thru Installer通过安装程序安装 INF 时文件被复制到 SysWOW64 而不是 System32
【发布时间】:2017-01-23 00:48:53
【问题描述】:

我们有 INF 文件,它将一个 .sys 文件安装到 Windows 驱动程序文件夹。场景如下:

1) 从文件资源管理器安装 INF。右键单击 INF 文件,然后单击安装。在这种情况下,.sys 文件将复制到 Windows\System32\drivers 文件夹下。

2) 创建控制台应用程序以在进程对象下使用 RunDll32 / CMD 安装并安装 INF 文件。在这种情况下,.sys 文件将复制到 Windows\System32\drivers 文件夹下。

3) 创建具有安装程序类的 x86 安装程序,以便在进程对象下使用 RunDll32 / CMD 安装并安装 INF 文件。在这种情况下,.sys 文件在 Windows\SysWOW64\drivers 下获得副本。

我们的目标是复制 Windows\System32\drivers 文件夹下的 .sys 文件,与 WinXP、Windows7、Windiows 8/8.1/10 等 32/64 位风格的 Windows 操作系统无关。

【问题讨论】:

    标签: c# visual-studio-2013 installation system32 syswow64


    【解决方案1】:

    Windows Installer (MSI) 安装坚持将 x86 设置中的 32 位组件安装到 32 位位置。尝试将 32 位文件定向到 64 位位置将导致重定向。 64 位安装可以安装到两者。

    不同的架构需要不同的 MSI:

    https://blogs.msdn.microsoft.com/heaths/2008/01/15/different-packages-are-required-for-different-processor-architectures/

    并特别查看 WIN64DUALFOLDERS 日志和随附的备注。

    【讨论】:

      猜你喜欢
      • 2012-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 2013-09-29
      • 2015-01-14
      • 2018-07-14
      相关资源
      最近更新 更多