制作32位和64位整合的安装包

环境:

打包工具:IS2014

工程类型:Installscript

步骤:

1.将32位的文件和64位的文件放在两个独立的component下

2.分别设置两个component 的属性

1)32位的component 设置64 bit component为NO,,然后Platform Suite(s)为Windows 32-bit Editions(ALL)

2) 64位的component 设置64 bit component为yes,,然后Platform Suite(s) 根据自己软件的情况设置为Windows 64-bit Editions for Itanuim 或Windows 64-bit Editions for AMD

3.设置路径

1)32位安装包当前安装目录设置为PROGRAMFILES^"XXX"

2)  64位安装包当前安装目录设置为PROGRAMFILES64^"XXX",

如果有涉及system32目录,IS里也提供相应的变量 WINSYSDIR和WINSYSDIR64

4制作32位和64位的安装包,还有个比较关键的设置点,就是安装过程出现的默认安装路径的选择,可以这样处理:

1)  将Generation Information 中TARGETDIR目录设置清空;

2)  然后将路径选择的代码修改如下

if(SYSINFO.bIsWow64)then

TARGETDIR=PROGRAMFILES64^" XXX ";

nResult = SdAskDestPath( szTitle, szMsg, TARGETDIR, 0 );

else

TARGETDIR=PROGRAMFILES^" XXX ";

nResult = SdAskDestPath( szTitle, szMsg, TARGETDIR, 0 );

endif;

这样就一个整合32位和64位为一个安装包就做好了。

注意:

1.如果通过写脚本的方式在64位的系统下进行文件的拷贝, 需要在拷贝代码前加入

Disable(WOW64FSREDIRECTION) 重定向到system32 文件夹,解决64系统默认拷贝文件到sysWOW64文件夹。文件拷贝完毕后请Enable(WOW64FSREDIRECTION)恢复设置,避免影响系统的其他程序。

2.还有一个需要注意的,64位的系统下进行文件的拷贝,除了重定向目录外,相应的函数也要写正确,否则也没办法拷贝到想要的目录。比如 32位系统下system32 文件夹对应WINSYSDIR函数,64位系统则对应WINSYSDIR64

3. 如果有涉及要操作64位系统注册表,可以通过REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY开关注册表,否则默认会写入到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node键值下。用完记得REGDB_OPTIONS = REGDB_OPTIONS & ~REGDB_OPTION_WOW64_64KEY 恢复设置避免影响系统的其他程序。

 

时间: 2024-08-29 16:39:33

制作32位和64位整合的安装包的相关文章

SQLite For .Net 已经整合了32位和64位

以前引用SQLite.DLL的时候,如果是winform等桌面程序,还要分32位和64位不一样的DLL,但最近已经整合为一个包了 打开vs的程序包管理器控制器,输入: install-package system.data.sqlite   自动安装即可.

驱动级多开工具,支持32位和64位

标题:[原创]驱动级多开工具,支持32位和64位 作者:绿林科技 时间:2015-5-16 链接:http://blog.csdn.net/o6108/article/details/47790019 作者QQ:1473656864 技术交流群1:177822108 技术交流群2:177822398 通用驱动级多开器,可多开市面上的90%的程序. PS:本来想弄个收费版本的,后来想了想,决定弄成免费.店铺为更新软件版本用的. 软件的About页面有我的QQ和Q群号,请大家把使用过程中遇到的BUG

Photoshop CS6最新官方正式中文破解版(32位、64位)

Photoshop是强大的图形处理软件,在前端开发领域中,主要用于页面的图形设计与网站UI切图. 目前最新版为Adobe Photoshop CS6 在CS6中整合了其Adobe专有的 Mercury图像引擎,通过显卡核心GPU提供了强悍的图片编辑能力. 但是相对于CS5来说,操作上发生了一定程度的变化,所以建议使用时仔细查看说明文档. 此次提供的版本为官方正式中文版,非汉化版.精简版.绿色版.包含Photoshop CS6中的所有组件与素材. 安装时请断开网络,并选择安装试用版.待软件全部安装

hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclipse-plugin-2.5.0插件下载hadoop2.5.1汇总:最新编译 32位.64位安装.源码包.API下载及新特性等 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoo

32位机 64位机 32位操作系统 64位操作系统

32位机: 一般指的是32位的CPU就是说CUP一次能计算32位. 64位机: 一般指的是64位的CPU就是说CPU一次能计算64位. 32位操作系统: 为32位机而制作的.指的是操作系统的字长是32位的 ,也就间接的影响了地址总线,因此,最大寻址空间也就自然是2的32次方,4G.注意:32位操作系统只能安装再32位机子上. 64位操作系统: 为64位机而制作的.指的是操作系统的字长是64位的,也就间接的影响了地址空闲,因此最大寻址空间也就是2的64次方,128G.注意:64位操作系统可以安装在

iOS 32位、 64位系统兼容性设置-Xcode创建支持IOS4.3以上版本的应用的方法

方法一: 如果是Xcode 5的话步骤为 点击项目名称->Build Settings->搜索 Architectures 这个里面的原始的值是Standard architectures(armv7,armv7s,arm64) 点击这个值,在下拉列表框中选择 Standard architectures(armv7,armv7s) ,然后保存项目,转到 General里面去就可以看到项目的Target选项里面会从4.3到7.0都有. 如果是Xcode 5.1的话步骤为 点击项目名称->

CentOS 5 上使用yum同时安装32位和64位包的解决方法

在centos上使用yum在线安装软件包的时候,有时候会同时安装32位和64位的包.并且在update的时候也会更新双份. 其实让yum只安装64位的包,只要在 /etc/yum.conf 中加个 exclude 选项: [main] cachedir=/var/cache/yum keepcache=0 plugins=1 ...... exclude=*.i?86 exclude 选项支持正则表达式,*.i?86可以用来过滤掉i386,i686等32bit包. 如果要删除已经安装的32bit

如何查看eclipse是32位还是64位

如何查看eclipse是32位还是64位? 1.如果是在官网下载的,看压缩包名字就可以看出来,只带有win32字样的是32位,带有win32-x86_64字样的是64位的. 如果已经安装了很多,安装包已经找不到了怎么办呢? 2.找到eclipse安装目录的eclipse.ini文件打开,在launcher.library项下,如果是win32.x86则是32位的,如果是win32.x86_64则是64位的. -startup plugins/org.eclipse.equinox.launche

iOS-程序发布-32位和64位系统的兼容

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般