Inno setup 安装到{sys}的文件/DLL未出现在C:\Windows\system32中
我不知道为什么,但当我尝试将文件从安装目录复制到Inno setup 安装到{sys}的文件/DLL未出现在C:\Windows\system32中,inno-setup,Inno Setup,我不知道为什么,但当我尝试将文件从安装目录复制到system32时,虽然在Inno安装程序中读取为已成功安装,但却失败了。这是我的密码: [Files] ; specifies what files will be included in the installation Source: "{src}\..\elt.properties"; DestDir: "C:\elt"; Flags: ignoreversion; BeforeInstall: SetProgressMax(10)
system32
时,虽然在Inno安装程序中读取为已成功安装,但却失败了。这是我的密码:
[Files]
; specifies what files will be included in the installation
Source: "{src}\..\elt.properties"; DestDir: "C:\elt"; Flags: ignoreversion; BeforeInstall: SetProgressMax(10);
Source: "{src}\..\msvcr120.dll"; DestDir: {sys}; Flags: onlyifdoesntexist;
我还想包括我的日志输出,因为我觉得奇怪的是,文件的时间这么短,我在2016年7月8日上午11点左右写这篇文章
[11:49:36.526] -- File entry --
[11:49:36.528] Dest filename: C:\Windows\system32\msvcr120.dll
[11:49:36.529] Time stamp of our file: 2013-10-04 23:58:24.000
[11:49:36.530] Installing the file.
[11:49:36.566] Successfully installed the file.
默认情况下,操作系统将
{sys}
(system32
)转换为{win}\SysWOW64
,用于32位应用程序(如Inno Setup)
如果您的DLL是32位的,那么实际上您需要重定向。SysWOW64是Windows 64位上的Windows 32位仿真的等效系统。另见
如果不希望重定向(因为DLL是64位的),可以使用以下命令覆盖重定向: 64位:使
{sys}
常量在源
和DestDir
参数中使用时映射到64位系统目录。。。。这是安装中的默认行为
或启用安装 在64位模式下:
- 当在[Dirs]、[Files]、[InstallDelete]、[Run]、[UninstallDelete]和[UninstallRun]节中使用时,
常量返回的System32路径默认映射到64位系统目录。这是因为当这些部分访问文件/目录时,安装/卸载会临时禁用。在其他地方,System32和{sys}
映射到32位系统目录,这在32位进程中是正常的{sys}
如果应用程序也是64位的,则应启用64位模式。否则,请使用其他两个选项之一。
Source: "..."; DestDir: "{sys}"; Flags: 64bit
[Setup]
ArchitecturesInstallIn64BitMode=x64 ia64