论坛风格切换切换到宽版
  • 7230阅读
  • 8回复

INNO的[Files]段SYS怎么搞不进64位的SYSTEM32目录 [复制链接]

上一主题 下一主题
离线陈氏猎人
 
发帖
62
金钱
330
威望
33
只看楼主 倒序阅读 0 发表于: 2010-09-14
如果INNO的[Files]段如果要把文件放在64位系统中的SYSTEM32目录,要怎么写常量呢?我写成 {SYS} ,但就是搞不进SYSTEM32目录,却搞在了sysWOW64目录。脚本如下:

ource: ..\libguide40.dll; DestDir: {sys};Flags: ignoreversion overwritereadonly uninsremovereadonly
离线dejoy

发帖
59
金钱
450
威望
45
只看该作者 1 发表于: 2010-09-14
帮助中是这样讲的:
{sys}
系统的 Windows System 目录 (在 NT 平台上是 System32)。
例如: 如果你在项目中使用了 {sys}\CTL3D32.DLL,且系统的 Windows System 目录是“C:\WINDOWS\SYSTEM”,安装程序或卸载程序将它传送到“C:\WINDOWS\SYSTEM\CTL3D32.DLL”。

在 64 位 Windows 中,按默认,the System32 path returned by this constant maps to the directory containing 32-bit system files, just like on 32-bit Windows. (This can be overridden by enabling 64 位模式.)

{syswow64}
在 64 位 Windows 中,系统的 SysWOW64 目录,一般是“C:\WINDOWS\SysWOW64”。这是在 32 位系统文件驻留的真实目录。在 32 位 Windows 中,32 位系统文件驻留在“System32”或“System”中,不是在单独的的“ {syswow64}” 目录,因此如果在这种情况下使用,这个常量将解析到与 {sys} 相同的目录。

Do not use this constant unless you have a specific need to obtain the name of the actual directory in which 32-bit system files reside. Gratuitously using {syswow64} in places where {sys} will suffice may cause problems. (请查阅帮助文档 [Files] 段 sharedfile 标记示例。)

离线陈氏猎人
发帖
62
金钱
330
威望
33
只看该作者 2 发表于: 2010-09-14
帮肋我也看过,但是按道理我的脚本是正确的
离线陈氏猎人
发帖
62
金钱
330
威望
33
只看该作者 3 发表于: 2010-09-14
简单地说,就是如何写代码才把把某个文件放进64位系统中的SYSTEM32目录
离线WLDNA

发帖
232
金钱
950
威望
95
只看该作者 4 发表于: 2010-09-15
请参考,帮助:

安装模式: 32 位 vs. 64 位

[Setup]: ArchitecturesInstallIn64BitMode
潜水,做自己的事,^_^
努力,学习,不断成长……
离线陈氏猎人
发帖
62
金钱
330
威望
33
只看该作者 5 发表于: 2010-09-15
哎,怎么也搞不进SYSTEM32目录
离线陈氏猎人
发帖
62
金钱
330
威望
33
只看该作者 6 发表于: 2010-09-15
搞了个批处理,算是解决了吧,还是谢谢各位了。
离线bank-w3000

发帖
195
金钱
1220
威望
122
只看该作者 7 发表于: 2012-09-30
回 4楼(WLDNA) 的帖子
WLDNA:请参考,帮助:安装模式: 32 位 vs. 64 位[Setup]: ArchitecturesInstallIn64BitMode (2010-09-15 10:58)

最近我也遇到了类似的问题,楼主的意思并不是想制作64位模式的安装程序。
只是所用的系统为64位。
64位系统下,{sys} 默认指向的 SysWOW64,而不是 System32。64位系统下,SysWOW64和System32同时存在于系统盘的Windows文件夹下。
楼主的意思是64位系统下,如何把某个文件以常量的方式放到64位系统下的 System32 文件夹下?

离线小笑萧何

发帖
66
金钱
570
威望
57
只看该作者 8 发表于: 2014-01-23
看了好贴是得回复的,不回复的是不道德的,学习是一种习惯,懒惰也是一种习惯,就看你是养成什么习惯了