在IS2008里,在Installation Designer里设置“Application Data”----“Redistributables”下勾选.Net Framework是不是就把它打包进了软件包,不论是否电脑上已经有了.Net Framwork3.5都会安装它。也就是IS2008只会检测.Net Framework2.0。
而在IS2010里则可以设置.NetFrameWork3.5开机检测是吧,但是请问各位怎样设置啊?是不是这样呢?
1、在Installation Requirements里选择“Microsoft .Net Framework3.5”。
2、“Application Data”----“Redistributables”里选“Microsoft .Net Framework3.5”和“Windows Installer3.1”。同时在下面选择“Install before feature selection”。但是,这样设置总是报错嘞,而且“.Net Framework”(Specify .Net Framwork options)生成窗口中,还是只能选择“.Net2.0”。
而在IS2010里则可以设置.NetFrameWork3.5开机检测是吧,但是请问各位怎样设置啊?是不是这样呢?
1、在Installation Requirements里选择“Microsoft .Net Framework3.5”。
2、“Application Data”----“Redistributables”里选“Microsoft .Net Framework3.5”和“Windows Installer3.1”。同时在下面选择“Install before feature selection”。但是,这样设置总是报错嘞,而且“.Net Framework”(Specify .Net Framwork options)生成窗口中,还是只能选择“.Net2.0”。
对吗?
MessageBox("接下来安装instmsiA",INFORMATION);
szJDK=SUPPORTDIR^ "dotnetfx.exe";
if(LaunchAppAndWait(szJDK,"",WAIT)<0) then
MessageBox("不能加载程序"+szJDK+".",SEVERE);
endif;
/////////////////////////////////////////////////////////
//
// 安装.net framework2.0 及其语言包,和中文件输入法补丁包
//
/////////////////////////////////////////////////////////
prototype void InstallDotNetFramework();function void InstallDotNetFramework()
string szMsg, szProgram, szCmdLine;
number nResult;
begin
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
if (RegDBKeyExist ("SOFTWARE\\Microsoft\\.NETFramework\\policy\\v2.0") < 0) then
SdShowMsg("正在安装 .NetFramework...",TRUE);
Delay(1);
if( LaunchAppAndWait(SRCDIR ^ "Support\\DotNet20\\dotnetfx.exe", "", WAIT ) < 0) then
SdShowMsg("",FALSE);
szMsg = "安装 .NetFrameWork软件包出错,安装程序将中止! \n请手动安装后再试,如仍无法解决,请联系系统供应商!";
MessageBox(szMsg, SEVERE);
abort;
endif;
SdShowMsg("",FALSE);
else
return;
endif;
MessageBox("CheckAgain", SEVERE);
//由于程序无法检测安装.net时用户是否取消了安装还是安装完成,再次查看.net是否安装
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
if (RegDBKeyExist ("SOFTWARE\\Microsoft\\.NETFramework\\policy\\v2.0") < 0) then
abort; //如果没安装,就直接退出
endif;
SdShowMsg("正在安装 .NetFramework 语言包...",TRUE);
Delay(1);
if( LaunchAppAndWait(SRCDIR ^ "Support\\DotNet20\\langpack.exe", "", WAIT ) < 0) then
SdShowMsg("",FALSE);
szMsg = "安装 .NetFramework 语言包出错! \n稍后请手动安装后再试,如仍无法解决,请联系系统供应商!";
MessageBox(szMsg, SEVERE);
endif;
SdShowMsg("正在安装 .NetFramework 中文输入法补丁包...",TRUE);
Delay(1);
szProgram = "msiexec.exe";
szCmdLine = " /p \"" + SRCDIR + "\Support\\DotNet20\\NDP20-KB925488-X86.msp\"";
LongPathToQuote(szProgram, TRUE);
LongPathToShortPath(szProgram);
if (LaunchAppAndWait(szProgram, szCmdLine, LAAW_OPTION_WAIT) < 0) then
SdShowMsg("",FALSE);
szMsg = "安装 .NetFramework 中文输入法补丁包出错。\n稍后请手动安装后再试,如仍无法解决,请联系系统供应商!";
MessageBox(szMsg, SEVERE);
endif;
SdShowMsg("",FALSE);
end;
这是我自个写的一个安装.net脚本。你可以在Prepare_Install中调用,或直接拷进去执行。
szJDK=SUPPORTDIR^ "dotnetfx.exe";
if(LaunchAppAndWait(szJDK,"",WAIT)<0) then
MessageBox("不能加载程序"+szJDK+".",SEVERE);
endif;