譯:用InnoSetup模塊化安裝依賴項


譯文出處:http://www.codeproject.com/Articles/20868/NET-Framework-Installer-for-InnoSetup

源文件下載:http://files.cnblogs.com/files/yplong/innodependencyinstaller.zip

一個模塊腳本來下載和安裝.NET Framework的所有版本或其他的軟件。

先上圖:

dotnetfx_installer1

dotnetfx_installer3

說明:

      這篇文章介紹了一個innosetup腳本來自動下載(如果本地不存在)和安裝各種依賴項 比如.NET Framework 1.1/2.0/3.5/4.0/4.5和其他的32位和64位程序。

背景:

      曾幾何時,我需要安裝.Net應用程序。我知道我能夠使用智能一鍵安裝包。但是我覺得安裝界面很不友好,而且不是那么順手。我得到一個innosetup腳本來完成我所想要做的。但是不幸的是,它只支持.Net1.1.因此,我花費了一點時間來大大的修改它以實現我的目的。

詳細資料:

dotnetfx_structure

setup.iss--包含了基本的products文件夾下你所需要的文件的安裝。setup.iss需要用這種形式:#include "scripts\products\dotnetfx11.iss   把他們(products文件夾下的iss文件)包含在里面。然后你只需要調用 【code】 代碼段的主函數,比如dotnetfx11();

bin - 用來存放setup.iss編譯生成的exe文件

src - 包含了應用安裝包安裝所需要的文件

scripts

  • products.iss -包含了共享的腳本. 你只需要改變[CustomMessages] 部分和[Files] 部分(包含 isxdl語言文件)
  • isxdl - 包含了安裝要下載的dll(如果需要下載) 和語言文件 (e.g. german.ini). 你可以把你自己需要的語言放在這里.
  • products -包含了安裝所需要的文件(e.g. .NET Framework 2.0)
    • dotnetfx11.iss - .NET Framework 1.1
    • dotnetfx11lp.iss - .NET Framework 1.1 Language Pack
    • dotnetfx11sp1.iss - .NET Framework 1.1 + Service Pack 1
    • dotnetfx20.iss - .NET Framework 2.0
    • dotnetfx20lp.iss - .NET Framework 2.0 Language Pack
    • dotnetfx20sp1.iss - .NET Framework 2.0 + Service Pack 1
    • dotnetfx20sp1lp.iss - .NET Framework 2.0 Service Pack 1 Language Pack
    • dotnetfx20sp2.iss - .NET Framework 2.0 + Service Pack 2
    • dotnetfx20sp2lp.iss - .NET Framework 2.0 Service Pack 2 Language Pack
    • dotnetfx35.iss - .NET Framework 3.5
    • dotnetfx35lp.iss - .NET Framework 3.5 Language Pack
    • dotnetfx35sp1.iss - .NET Framework 3.5 + Service Pack 1
    • dotnetfx35sp1lp.iss - .NET Framework 3.5 Service Pack 1 Language Pack
    • dotnetfx40client.iss - .NET Framework 4.0 Client Profile
    • dotnetfx40full.iss - .NET Framework 4.0 Full
    • dotnetfx45.iss - .NET Framework 4.5.2
    • ie6.iss - Internet Explorer 6
    • iis.iss - Internet Information Services (just a check if it is installed)
    • jet4sp8.iss - Jet 4 + Service Pack 8
    • kb835732.iss - Security Update (KB835732) which is required by .NET Framework 2.0 Service Pack 1 on Windows 2000 Service Pack 4
    • mdac28.iss - Microsoft Data Access Components (MDAC) 2.8
    • msi20.iss - Windows Installer 2.0
    • msi31.iss - Windows Installer 3.1
    • msi45.iss - Windows Installer 4.5
    • sql2005express.iss - SQL Server 2005 Express + Service Pack 3
    • sql2008express.iss - SQL Server 2008 Express R2
    • sqlcompact35sp2.iss - SQL Server Compact 3.5 + Service Pack 2
    • vcredist2005.iss - Visual C++ 2005 Redistributable
    • vcredist2008.iss - Visual C++ 2008 Redistributable
    • vcredist2010.iss - Visual C++ 2010 Redistributable
    • vcredist2012.iss - Visual C++ 2012 Redistributable
    • vcredist2013.iss - Visual C++ 2013 Redistributable
    • wic.iss - Windows Imaging Component (windows圖片控件)
    • winversion.iss - 幫助確定安裝的版本信息
    • fileversion.iss - 幫助確定安裝的版本文件
    • stringversion.iss - 幫助正確分析版本字符
    • dotnetfxversion.iss - 幫助確定.net安裝和服務包
    • msiproduct.iss - 幫助堅持msi軟件

很可能你要調整setup.iss來檢查不同的windows版本所需要的依賴項。

如果一個依賴項沒有安裝,安裝過程會檢查相關依賴項的安裝文件是否存在於.\MyProgramDependencies.文件夾下。如果不存在那么久自動下載。

dotnetfx_installer2dotnetfx_installer4

依賴項的安裝一般自動運行的,靜默安裝。因此不需要用戶插手(不包括IE6)。安裝腳本使用了[CostumMessages]段因此你可以輕松添加多語言支持。

所需要的工具:

  • Inno Setup - (版本5.5.5)
  • ISTool -  Inno Setup的擴展組件。但是我只需要 isxdl.dll downloader (版本5.3.0)

~~~~就到這里,感謝的話就不翻譯了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM