Dependency Module: Windows Installer (MSI) 4.5

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • venky
    Forum Member
    • Aug 2008
    • 30

    Dependency Module: Windows Installer (MSI) 4.5

    Overview
    Use the Windows Installer (MSI) 4.5 dependency module with MSI Factory 2.0 to detect and install Windows Installer (MSI) 4.5.

    Background Information
    This dependency module will cause the Microsoft Windows Installer service 4.5 (a.k.a. "Windows Installer 4.5") to be included in your bootstrapper. When run, the bootstrapper will check for the existence of Windows Installer 4.5 on the target system and then extract and install Windows Installer service if needed. The Windows Installer (MSI) 4.5 installation package is available as a stand-alone executable file:
    For Windows Vista, Windows Vista Service Pack 1 and Windows Server 2008:
    x86 Platform: Windows6.0-KB942288-v2-x86.msu
    x64 Platform: Windows6.0-KB942288-v2-x64.msu

    For Windows XP Service Pack 2 and Windows XP Service Pack 3 (32-bit platforms):
    x86 Platform: WindowsXP-KB942288-v3-x86.exe

    For Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2 and Windows XP 64-bit Editions:
    x86 Platform: WindowsServer2003-KB942288-v4-x86.exe
    x64 Platform: WindowsServer2003-KB942288-v4-x64.exe

    When this dependency module is included in your setup, it installs Windows Installer (MSI) 4.5 if needed.

    Installation Instructions
    To make Windows Installer (MSI) 4.5 dependency module available in your MSI Factory 2.0 projects, follow the steps below:
    1. Close MSI Factory 2.0, if it is running.
    2. Browse to the folder where MSI Factory 2.0 is installed on your system. By default it is C:\Program Files\MSI Factory (on Windows Vista (64-bit) it is C:\Program Files (x86)\MSI Factory).
    3. Open the folder called Dependencies.
    4. Unzip the contents of MSI4.5.zip (see bottom of article) into the dependencies folder.
    5. Download the Windows Installer (MSI) 4.5 (WindowsXP-KB942288-v3-x86.exe) into the Msi45AllinOne_Include subfolder.
    6. Download the Windows Installer (MSI) 4.5 (WindowsServer2003-KB942288-v4-x86.exe) into the Msi45AllinOne_Include subfolder.
    7. Download the Windows Installer (MSI) 4.5 (WindowsServer2003-KB942288-v4-x64.exe) into the Msi45AllinOne_Include subfolder.
    8. Download the Windows Installer (MSI) 4.5 (Windows6.0-KB942288-v2-x86.exe) into the Msi45AllinOne_Include subfolder.
    9. Download the Windows Installer (MSI) 4.5 (Windows6.0-KB942288-v2-x64.exe) into the Msi45AllinOne_Include subfolder.
    10. Restart MSI Factory 2.0.
    To use your new dependency module, select Build > Settings from the main menu. Select standard bootstrapper option and click the Edit button. Click dependencies tab and click Add button. Select Windows Installer (MSI) 4.5 dependency module from the list of available dependency modules. Windows Installer (MSI) 4.5 should now be visible in the dependency modules section. You can edit or customize the configuration of the dependency module in the configuration section.

    Information Links
    More Information


    Module Name: Windows Installer (MSI) 4.5
    Type: MSI Factory 2.0 Dependency Module
    Created By: kumar (7/31/2008)
    Last Revision: July 31, 2008 (001)
    Disclaimer: This dependency module is not officially supported by Indigo Rose. If you have any issues or feedback please contact me or post in the forum.
    Attached Files
  • Mattis
    Forum Member
    • Sep 2006
    • 9

    #2
    Venky, thanks for sharing all these dependency packages.

    I've tested the Windows Installer package 4.5, but I get an error after the installation is finished: "Windows installer 4.5 failed".

    What happens is that the installation stops, but Windows installer is perfectly installed (it did not fail).

    I thought it may have something to do with the "noreboot"-option. I have looked in the script but cannot seem to find the error.

    My test environment is: Windows Server 2003 SP2 32 bit Eng.

    Have a nice day!

    Comment

    • dalsbury
      Forum Member
      • Sep 2009
      • 7

      #3
      Typo?

      In the instructions above, is it a typo:
      Windows6.0-KB942288-v2-x86.msu instead of Windows6.0-KB942288-v2-x86.exe
      Windows6.0-KB942288-v2-x64.msu instead of Windows6.0-KB942288-v2-x64.exe

      Comment

      • Boris.Net
        Forum Member
        • Jul 2010
        • 6

        #4
        The msi45AllinOne_Include.lua has a slight problem (line 195):
        instead of
        if (useWusa) then
        local nReturnCode = File.Run(strWusaInstaller,strCmdArgs,"",SW_SHOWNOR MAL,true);
        else
        local nReturnCode = File.Run(strInstallerDest,strCmdArgs,"",SW_SHOWNOR MAL,true);
        end

        it should be

        local nReturnCode = 0;
        if (useWusa) then
        nReturnCode = File.Run(strWusaInstaller,strCmdArgs,"",SW_SHOWNOR MAL,true);
        else
        nReturnCode = File.Run(strInstallerDest,strCmdArgs,"",SW_SHOWNOR MAL,true);
        end

        effectivly the return code from msiexec installer is lost as the nReturnCode is declared local within the if statement. Hence the error message without the eror code.

        Comment

        • plokolp
          Indigo Rose Customer
          • May 2008
          • 63

          #5
          When Windows 4.5 is installed, the system needs to reboot. Does anyone know how to get the installer to resume after a system reboot?

          Thanks,
          Rod
          helpmasterpro.com

          Comment

          • Ulrich
            Indigo Rose Staff Member
            • Apr 2005
            • 5130

            #6
            Use File.RunOnReboot()...

            Ulrich

            Comment

            • jmcdade
              Indigo Rose Customer
              • Jan 2012
              • 5

              #7
              I currently have a custom bootstrapper where I'm also trying to throw in the 4.5 Windows Installer.

              This is the only dependency I have right now, and when I run an MSBuild script that handles the patch creation process, I get an error like this:

              "EXEC: error : Could not locate dependency file: [path to .proj file]"
              "Cleaning up temporary files..."
              "Bootstrap build failed: 5"

              Why would it be considering the msbuild script a dependency file?

              Script segment in question:

              <Exec Command="&quot;$(MSIFactoryBootStrapperTool)&quot; &quot;$(MSIFactoryBootStrapperProjectFile)&quot ; &quot;$(MSIFactoryBootStrapperOutputFile)&quot; $(MSIFactoryBootStrapperOptions)"
              Condition="Exists('$(MSIFactoryBootStrapperProject File)')"
              WorkingDirectory="$(MSIFactoryBootStrapperProjectD ir)" ContinueOnError="false" />

              Also, in my main file list, I just have the standard mainscript and patch_functions along with a mainsetup to the patch.msp file. Other than that, I just have a ModuleRef to the dependency "include" xml and some config variables.

              Comment

              Working...
              X