yan

I'm a lazy man

导航

installshield中用release wizard打包.net framework 1.1中文版

在网上看见的一篇文章,自己并测试通过。需要的话,只须拷贝过去就行了

1。将中文版的.net framework1.1安装程序改名为2052dotnetfx.exe考到如下目录中:C:\Program Files\InstallShield\Developer\Redist\0804\i386

2。运行release wizard,根据你的需要选择设置,在.net run-time options面板中你会发现原来呈灰色的Chinese(Simplified)为可选状态,选择该项,就可以加入中文版的.net framework了。

另外比较常见的要加入MDAC和IE的问题,要通过自己写脚本来实现(其中MDAC可以到installshield的官方网站下载MSM文件,然后在Redistributables中添加它,不过也是英文版的),我自己写了一个脚本供大家参考,是在安装的最后来检验是否需要安装MDAC和IE,如需要则安装:

function OnFirstUIAfter()
 string szKey,szName,svvalue,szVersionInfo,szCmdLine;
 number nvType,nvSize,nCompareFlag,nResult;

begin
 //将注册表的默认路径指向HKEY_LOCAL_MACHINE
 RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE) ;

 szKey = "SOFTWARE\\Microsoft\\DataAccess";
 szName = "Version";
         //设置MDAC安装程序所在目录
 szCmdLine = SourceDir^ "Support\\MDAC28\\MDAC_TYP.EXE";
 //设置你所需要达到的版本
         szVersionInfo = "2.80.0.0";
//检测是否需要安装MDAC                     
 RegDBGetKeyValueEx ( szKey, szName, nvType, svvalue, nvSize );
 nResult=VerCompare (szVersionInfo,svvalue,nCompareFlag);
 //如果注册表所反映的版本小于szVersionInfo或没有安装MDAC
         if(nResult=GREATER_THAN||nResult<0)then
                  //安装MDAC
  LaunchAppAndWait(szCmdLine, "",WAIT);
 endif;

//检测是否需要安装ie6.0
 szKey = "SOFTWARE\\Microsoft\\Internet Explorer";
 szName = "Version";
 szCmdLine = SourceDir^"Support\\IE60\\ie6setup.exe";
 szVersionInfo = "6.0.0.0";

RegDBGetKeyValueEx ( szKey, szName, nvType, svvalue, nvSize );
 nResult=VerCompare (szVersionInfo,svvalue,nCompareFlag);
 if(nResult=GREATER_THAN||nResult<0)then //安装IE6.0
  LaunchAppAndWait(szCmdLine,"",WAIT);
 endif;
end;

posted on 2004-11-11 17:03  Lazy  阅读(3345)  评论(0编辑  收藏  举报