在installshield中安装自己的软件包后安装Dotnet?

时间:2011-11-24 11:10:47

标签: .net installation installshield

我遇到Install-Shield问题。我创建包来安装我的项目然后使用JS(Install-Shield中的JavaScript)来检查Dotnet框架工作,如果它不存在安装Dotnet。以便JS work perfectlychecking registry and then go for Donet Setup

以下是HS:

function RunDotNetEXE(hMSI)   

STRING svPath; 

begin     
svPath = SRCDIR^"\\Req";
RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);    

if (RegDBKeyExist ("SOFTWARE\\Microsoft\\.NETFramework\\v3.0")!=1) then    
  if (svPath!="") then            
    SdShowMsg ( " file not found ", TRUE );   
        if (LaunchAppAndWait (svPath+"\\net frame work 3.5  sp1\\dotnetfx35.exe","",WAIT) < 0) then
         MessageBox ("error in installing DotNet", SEVERE);
        endif;                                            
    SdShowMsg ( " Some message ", FALSE );   
  endif;  
endif;

end;

问题:
但问题是 Windows Installer WI无法运行two or more Setup package on same time

  

所以我必须做什么,以解决我的问题! ?

2 个答案:

答案 0 :(得分:2)

解决方案是添加.NET Framework作为先决条件:http://kb.flexerasoftware.com/doc/Helpnet/installshield15helplib/IHelpMergeModules.htm

答案 1 :(得分:2)

您不应该使用任何脚本来检查.NET框架。 Installshield允许您添加.NET框架作为先决条件。这将检查框架是否已安装并在必要时安装。

我在我的一个软件包中有这个,它运行正常。

通常,尽可能避免使用脚本和自定义操作,因为这些操作可能需要您在目标计算机上无法获得的某些权限。