本文介绍一个工具:Setup Factory。在7.0版本中,Setup Factory的默认从属资源中仅支持VB5.0及VB6.0,想要在生成的安装程序中自动完成.NET FRAMEWORK的安装,从网上查了一下,须要按以下步骤做几件事:
首先找到Setup Factory安装目录下的Dependencies目录,在目录中新建一个dotnet2_0.xml的文件。
然后,在Dependencies目录下新建子目录,取名dotnet2_0,将.NET FRAMEWORK安装程序dotnetfx.exe拷至该子目录下,dotnetfx.exe可在VS 2005的安装目录下的SDK\\v2.0\\BootStrapper\\Packages\\dotnetfx目录下找到。
完成之后打开Setup Factory,选择:资源---从属---添加,可以看到.NET FRAMEWORK 2.0了。
文件dotnet2_0.xml内容如下:
< DependencyTemplate >
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
Dependency
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
Name
>
Microsoft .NET Framework 2.0
</
Name
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
RuntimeTempFolder
>
dotnet2_0
</
RuntimeTempFolder
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
RevisionDate
>
Friday, March 30, 2007
</
RevisionDate
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
Description
>
安装 Microsoft .NET Framework 2.0应用程序所需的运行时文件。
</
Description
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
DetectScript
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
function isDotNet_Installed()
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
--author:zhengxinhe www.admans.net
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Output to the log that the .NET detection has started.
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("Success\t.NET 2.0 Module: Detection script started.\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Get the operating system name.
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
--Check to see if the registry key exists
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
DotNet_Registry = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\.NETFramework");
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if (DotNet_Registry == nil) then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- The registry key does not exist
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Run the .NET Installation script
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Output to the log file that .NET could not be found, so it will be installed.
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("Info\t.NET 2.0 Module: No version of .NET 2.0 files was found. .NET 2.0 will be installed.\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
return false;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- The key does exist
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Get the .NET install location from the registry
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
DotNet_Install_Location = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\.NETFramework", "InstallRoot", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Look for the file mscorcfg.dll
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
Does_File_Exist = DotNet_Install_Location.."\\v2.0.50727\\aspnet_rc.dll";
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if(not File.DoesExist(Does_File_Exist))then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- The file does not exist
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Run the .NET Installation script
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Output to the log file that .NET could not be found, so it will be installed.
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("Info\t.NET 2.0 Module: No version of .NET 2.0 file was found. .NET 2.0 will be installed.\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
return false;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- The file does exist
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Get the version of mscorcfg.dll
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
msc_ver = File.GetVersionInfo(Does_File_Exist);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if(not msc_ver)then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("Info\t.NET 2.0 Module: no version was found. .NET 2.0 will be installed.\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
return false;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Compare the returned value against the needed value
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
Compare = String.CompareFileVersions(msc_ver.FileVersion, "2.0.50727.42");
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if (Compare == -1) then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Output to the log file that a lesser version of .NET was found on the system
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("Info\t.NET 2.0 Module: A lesser version of .NET 2.0("..msc_ver.FileVersion..") was found on the users system.\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
return false;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
else
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- a version less than version 2.0 is installed
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- Output to the log file that a lesser version of .NET was found on the system
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("Info\t.NET 2.0 Module: A new or this version of .NET 2.0 was found on the users system.\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
return true;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
</
DetectScript
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
DetectFunction
>
isDotNet_Installed
</
DetectFunction
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
InstallScript
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 用在安装操作中的变量:
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local strMessage = [[安装程序检测到你的系统没有安装Microsoft .NET Framework2.0或者版本过旧。请点击“确定”进行安装,点击“取消”中止安装。]];
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local strDialogTitle = "必需的技术文件";
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local bShowUserPrompt = true; -- 设置为 true 来询问用户是否安装模块
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local bRunInstallFile = true; -- 设置默认选择 (是否默认运行安装)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local strRuntimeSupportFolder = SessionVar.Expand("%TempLaunchFolder%\\dotnet2_0");
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local strFileToRun = strRuntimeSupportFolder.."\\dotnetfx.exe";
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-----------------------------------------------------------------------------------------
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 安装已启动。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0 模块:安装脚本已启动。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 删除临时文件和运行时支持文件夹 (同时进行错误检查)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local function PerformCleanUp()
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
File.Delete(strFileToRun);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
error = Application.GetLastError();
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if error ~= 0 then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("错误\tdotnet2_0 模块:无法删除临时文件 (".._tblErrorMessages[error]..")\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
Folder.Delete(strRuntimeSupportFolder);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
error = Application.GetLastError();
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if error ~= 0 then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("错误\tdotnet2_0模块:无法删除临时文件夹 (".._tblErrorMessages[error]..")\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 是否显示对话框来询问用户是否安装模块。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if(bShowUserPrompt)then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local nDialogResult = Dialog.Message(strDialogTitle,strMessage,MB_OKCANCEL,MB_ICONEXCLAMATION);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if(nDialogResult == IDOK)then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 用户选择安装模块。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
bRunInstallFile = true;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 用户要安装它
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0 模块:用户已确认,准备安装。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
else
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 用户不安装模块。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
bRunInstallFile = false;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 用户回答否
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0 模块:用户不安装模块。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 检查用户是否要安装运行时。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if(bRunInstallFile)then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 开始!
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0模块:正在运行dotnet2_0 安装程序。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- “/R:N”命令行参数告诉 VB 安装程序若需要的话不要显示重启屏幕。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 我们将检测整个安装进程返回代码,若需要的话,还设置内部 _NeedsReboot 变量。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 【注意】在静默方式下,你不能添加命令行参数“/Q”来运行安装
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
local nResult = File.Run(strFileToRun,"/R:N","",SW_SHOWNORMAL,true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
if(nResult == 3010)then
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- VB 安装指明它需要重启才能完成
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 设置 Setup Factory 的重启变量,以便在安装结束时重启
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
_NeedsReboot = true;
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 需要重启
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0 模块:dotnet2_0 安装程序已告知它需要重启。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 删除运行时安装程序文件,并删除临时文件夹
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
PerformCleanUp();
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 全部完成!
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0模块:dotnet2_0运行时安装完毕。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
else
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 用户不想安装运行时,那么删除运行时安装程序文件,
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 并删除临时文件夹,然后退出安装程序。
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
PerformCleanUp();
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
-- 全部完成!
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
SetupData.WriteToLogFile("成功\tdotnet2_0 模块:dotnet2_0 运行时未安装。\r\n", true);
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
Application.Exit();
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
end
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
</
InstallScript
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
SupportFiles
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
<
File
>
#SUFDIR#\Dependencies\dotnet2_0\dotnetfx.exe
</
File
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
</
SupportFiles
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
</
Dependency
>
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
</
DependencyTemplate
>
首先找到Setup Factory安装目录下的Dependencies目录,在目录中新建一个dotnet2_0.xml的文件。
然后,在Dependencies目录下新建子目录,取名dotnet2_0,将.NET FRAMEWORK安装程序dotnetfx.exe拷至该子目录下,dotnetfx.exe可在VS 2005的安装目录下的SDK\\v2.0\\BootStrapper\\Packages\\dotnetfx目录下找到。
完成之后打开Setup Factory,选择:资源---从属---添加,可以看到.NET FRAMEWORK 2.0了。
文件dotnet2_0.xml内容如下:
< DependencyTemplate >
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)
![](http://image.360doc.com/DownloadImg/2008/4/22/26857_1207792_1.gif)