#include "ifx.h" prototype BOOL DetectDotNet(); prototype BOOL CheckDotNetFrameWork(); #define DOTNET_PATH WINDIR ^ "Microsoft.NET\\Framework\\v1.1.4322" function BOOL DetectDotNet() begin if (ExistsDir (DOTNET_PATH) = EXISTS) then //The latest version of .NET is installed return TRUE; else //The latest version of .NET is not installed return FALSE; endif; end; #define DOTNET_URL "http://www.installengine.com/cert03/dotnetfx/dotnetfx.exe" #define TEMP_DOTNET SUPPORTDIR ^ "dotnetfx.exe"function BOOL CheckDotNetFrameWork() BOOL bResult; STRING svDotNetURL; begin if ((!MAINTENANCE) && (!UPDATEMODE)) then bResult = DetectDotNet(); if (!bResult) then //Copy the .NET redistributable from the web and then launch it CopyFile(DOTNET_URL, TEMP_DOTNET); LaunchAppAndWait( TEMP_DOTNET, "", LAAW_OPTION_WAIT); endif; endif; return TRUE;end;//Using the custom function above, it is possible to check at the beginning of a first time installation whether .NET needs to be installed or not.
To reformer(失落……无奈……) 对,在一般的安装工程(非window install),在Object可以添加dotnetfx1.1,但他在安装时是拷贝到安装目录的dotnet目录下,而不是安装到系统。汗...也就是说可以打包到安装包里,如何检查,并安装呢?EdmondWang(Edmond_Wang) 给了一个不错的提示。还要努力...
TO: kevin2y() ( )我觉得不是你所说的那样。 因为我做过几个安装程序,使用InstallShield X来做的。我每次在客户端上安装客户端软件时,安装包都是自动帮我在系统上安装framework(没有在安装程序中体现出来正在安装Framework,如果客户端已安装有Framework,速度会快些)我从来没有在安装包后,手动安装Framework。象你所说的。我觉得你是在File中添加你的Framework文件包,不是在Object中添加。你再检查看看。
http://blog.joycode.com/hopeq/archive/2004/07/28/28674.aspx
http://blog.joycode.com/hopeq/archive/2004/07/29/28787.aspx
http://blog.joycode.com/hopeq/archive/2004/07/29/28800.aspx
http://blog.joycode.com/hopeq/archive/2004/08/02/29318.aspx
http://blog.joycode.com/hopeq/archive/2004/08/02/29325.aspx
http://blog.joycode.com/hopeq/archive/2004/08/03/29412.aspx
#include "ifx.h"
prototype BOOL DetectDotNet();
prototype BOOL CheckDotNetFrameWork();
#define DOTNET_PATH WINDIR ^ "Microsoft.NET\\Framework\\v1.1.4322"
function BOOL DetectDotNet()
begin
if (ExistsDir (DOTNET_PATH) = EXISTS) then
//The latest version of .NET is installed
return TRUE;
else
//The latest version of .NET is not installed
return FALSE;
endif;
end;
#define DOTNET_URL "http://www.installengine.com/cert03/dotnetfx/dotnetfx.exe"
#define TEMP_DOTNET SUPPORTDIR ^ "dotnetfx.exe"function BOOL CheckDotNetFrameWork()
BOOL bResult;
STRING svDotNetURL;
begin
if ((!MAINTENANCE) && (!UPDATEMODE)) then
bResult = DetectDotNet();
if (!bResult) then
//Copy the .NET redistributable from the web and then launch it
CopyFile(DOTNET_URL, TEMP_DOTNET);
LaunchAppAndWait( TEMP_DOTNET, "", LAAW_OPTION_WAIT);
endif;
endif;
return TRUE;end;//Using the custom function above, it is possible to check at the beginning of a first time installation whether .NET needs to be installed or not.
然后在好像Component或者Object上把DotNet Framework 1.1对象拖到你的Feature上。现在在家里。家里没有安装InstallShield X。 办公室才有。所以我就是不太记得了。不过肯定有的。这个是肯定的。
因为我做过几个安装程序,使用InstallShield X来做的。我每次在客户端上安装客户端软件时,安装包都是自动帮我在系统上安装framework(没有在安装程序中体现出来正在安装Framework,如果客户端已安装有Framework,速度会快些)我从来没有在安装包后,手动安装Framework。象你所说的。我觉得你是在File中添加你的Framework文件包,不是在Object中添加。你再检查看看。