2011-11-24 127 views
2

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

这里是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 InstallerWI不能运行two or more Setup package on same time

所以我必须要做的,为了解决我的问题! ?

回答

2

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

我在我的软件包之一,它工作正常。

一般而言,请尽可能避免使用脚本和自定义操作,因为这些操作可能需要特定的权限,而您不会在目标机器上始终获得某些权限。

+0

@Rev:这是解决方案。您只需添加.NET Framework作为Installshield项目的先决条件,如果尚未安装该框架,则该框架将安装在目标机器上。然后你不再需要脚本。 – CJ7

+0

+1关于脚本的提示 – Rev