Answered Sequencing vSphere VIC 5.0

  • Thursday, September 22, 2011 11:30 AM
     
      Has Code

    Trying to sequence vSphere VIC 5.0 in the same fashion under which I've successfully done previous versions (3/4/4.1), but the main MSI is encountering an error towards the end and rolling back:-
    ---
    Action 11:48:53: VM_PrepUSBDevicesInstall.AB568CC9_1F06_4225_B985_9531B0D3BB56.
    MSI (s) (F4:44) [11:48:53:243]: Executing op: CustomActionSchedule(Action=VM_PrepUSBDevicesInstall.AB568CC9_1F06_4225_B985_9531B0D3BB56,ActionType=3073,Source=BinaryData,Target=VMPrepDeviceInstall,CustomActionData=C:\Program Files\Common Files\VMware\USB\DriverCache\)
    MSI (s) (F4:E8) [11:48:53:290]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3F2.tmp, Entrypoint: VMPrepDeviceInstall
    MSI (s) (F4:84) [11:48:53:368]: Generating random cookie.
    MSI (s) (F4:84) [11:48:53:540]: Created Custom Action Server with PID 2164 (0x874).
    MSI (s) (F4:E0) [11:48:53:931]: Running as a service.
    MSI (s) (F4:E0) [11:48:53:962]: Hello, I'm your 32bit Elevated custom action server.
    MSI (s) (F4:44) [11:48:54:118]: Executing op: ActionStart(Name=VM_InstallUSB.AB568CC9_1F06_4225_B985_9531B0D3BB56,,)
    Action 11:48:54: VM_InstallUSB.AB568CC9_1F06_4225_B985_9531B0D3BB56.
    MSI (s) (F4:44) [11:48:54:150]: Executing op: CustomActionSchedule(Action=VM_InstallUSB.AB568CC9_1F06_4225_B985_9531B0D3BB56,ActionType=3073,Source=BinaryData,Target=VMInstallUSB,CustomActionData=C:\Program Files\Common Files\VMware\USB\DriverCache\)
    MSI (s) (F4:30) [11:48:54:165]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3F4.tmp, Entrypoint: VMInstallUSB
    MSI (s) (F4:44) [11:49:28:790]: Executing op: ActionStart(Name=VM_PrepHcmonInstall.AB568CC9_1F06_4225_B985_9531B0D3BB56,,)
    Action 11:49:28: VM_PrepHcmonInstall.AB568CC9_1F06_4225_B985_9531B0D3BB56.
    MSI (s) (F4:44) [11:49:28:790]: Executing op: CustomActionSchedule(Action=VM_PrepHcmonInstall.AB568CC9_1F06_4225_B985_9531B0D3BB56,ActionType=3073,Source=BinaryData,Target=VMPrepDeviceInstall,CustomActionData=C:\Program Files\Common Files\VMware\USB\)
    MSI (s) (F4:64) [11:49:28:806]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3F9.tmp, Entrypoint: VMPrepDeviceInstall
    MSI (s) (F4:44) [11:49:28:915]: Executing op: ActionStart(Name=VM_InstallHcmon.AB568CC9_1F06_4225_B985_9531B0D3BB56,,)
    Action 11:49:28: VM_InstallHcmon.AB568CC9_1F06_4225_B985_9531B0D3BB56.
    MSI (s) (F4:44) [11:49:28:915]: Executing op: CustomActionSchedule(Action=VM_InstallHcmon.AB568CC9_1F06_4225_B985_9531B0D3BB56,ActionType=3073,Source=BinaryData,Target=VMInstallHcmon,CustomActionData=C:\Program Files\Common Files\VMware\USB\)
    MSI (s) (F4:90) [11:49:28:931]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3FB.tmp, Entrypoint: VMInstallHcmon
    Action ended 11:49:29: InstallFinalize. Return value 3.
    MSI (s) (F4:44) [11:49:29:884]: User policy value 'DisableRollback' is 0
    MSI (s) (F4:44) [11:49:29:884]: Machine policy value 'DisableRollback' is 0
    MSI (s) (F4:44) [11:49:29:915]: Executing op: Header(Signature=1397708873,Version=301,Timestamp=1060527475,LangId=0,Platform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
    MSI (s) (F4:44) [11:49:29:915]: Executing op: DialogInfo(Type=0,Argument=0)
    MSI (s) (F4:44) [11:49:29:915]: Executing op: DialogInfo(Type=1,Argument=VMware vSphere Client 5.0)
    MSI (s) (F4:44) [11:49:29:915]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
    MSI (s) (F4:44) [11:49:29:915]: Executing op: RegisterBackupFile(File=C:\Config.Msi\55477.rbf)
    MSI (s) (F4:44) [11:49:29:915]: Executing op: RegisterBackupFile(File=C:\Config.Msi\55478.rbf)
    Action 11:49:29: Rollback. Rolling back action:
    Rollback: VM_InstallHcmon.AB568CC9_1F06_4225_B985_9531B0D3BB56
    ---

    Strangely enough, this rollback only occurs during monitoring, if sequencer isn't running, it runs through fine.

    XP SP3, Sequencer 4.5, pre-req's (VC.net 2008 SP1, VJ#, .net 3.5 SP1) on base image.

    Anyone seen similar behaviour?

Answers

  • Tuesday, September 27, 2011 11:18 AM
     
     Answered

    OK.

    Sequenced and tested OK; minus the USB functionality which I was expecting to lose.

    In order to sequence correctly, you must create a transform on the VMware vSphere Client 5.0.msi (you need to dig into the .exe installations two levels deep to get this!)...

    Open in Orca/InstEd, and Create a new Transform; remove the following lines from the InstallExecuteSequence table:-

    • VM_InstallUSB
    • VM_InstallUSB_SetData
    • VM_InstallHCmon
    • VM_InstallHCmon_SetData
    • VM_InstallUSBArbitrator
    • VM_InstallUSBArbitrator_SetData
    • VM_StartUSBArbSvc

     

    Save your transform down, prep your VM with the pre-reqs (above) and msiexec with the transform in your basic capture.

    • Edited by Sizzl Tuesday, September 27, 2011 11:18 AM
    • Marked As Answer by Sizzl Tuesday, September 27, 2011 11:19 AM
    •  

All Replies

  • Thursday, September 22, 2011 11:54 AM
     
     
    Hello,

    Can you verify if the installer contains drivers? If so, it would be a good idea to not package those
    /Znack
  • Thursday, September 22, 2011 12:28 PM
    Moderator
     
     
    If you virtualise the View client, unless you can separate the drivers into a separate install as Znack suggests, you will lose features such as USB device pass-through etc.

    This forum post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.
  • Thursday, September 22, 2011 12:36 PM
     
     

    Yes, I'd suggest by the location it's trying to copy from/to, it does...  Given what the driver does, I don't see much use for it in the VIC (for here anyway).

    What I don't understand is why it's failing, only during monitoring; thus the curiousity to see if anyone else had encountered this.

    Guess I'm going to have to manually skip that step via transform.

  • Thursday, September 22, 2011 12:38 PM
     
     

    This is Infrastructure client, not View client.

    USB passthrough wasn't present in 4.x and 3.x, so operationally it isn't too much of an issue not to have it.


    • Edited by Sizzl Thursday, September 22, 2011 12:41 PM clarification
    •  
  • Thursday, September 22, 2011 1:00 PM
    Moderator
     
     Proposed Answer
    What I don't understand is why it's failing, only during monitoring; thus the curiousity to see if anyone else had encountered this.


    I guess it fails because driver installation uses some Windows API that is trapped by SystemGuard (or what it is that they presently call SG of) in App-V, and returns failure code or unexpected result to the custom action. When not in monitoring mode, nothing intercepts Windows APIs.

    Here's the relevant lines from your log excerpt:

    MSI (s) (F4:44) [11:49:28:915]: Executing op: CustomActionSchedule(Action=VM_InstallHcmon.AB568CC9_1F06_4225_B985_9531B0D3BB56,ActionType=3073,Source=BinaryData,Target=VMInstallHcmon,CustomActionData=C:\Program Files\Common Files\VMware\USB\)
    MSI (s) (F4:90) [11:49:28:931]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3FB.tmp, Entrypoint: VMInstallHcmon
    Action ended 11:49:29: InstallFinalize. Return value 3.

     


    best regards,
    Kalle Saunamäki
    • Proposed As Answer by znackMVP Thursday, September 22, 2011 1:14 PM
    •  
  • Tuesday, September 27, 2011 11:18 AM
     
     Answered

    OK.

    Sequenced and tested OK; minus the USB functionality which I was expecting to lose.

    In order to sequence correctly, you must create a transform on the VMware vSphere Client 5.0.msi (you need to dig into the .exe installations two levels deep to get this!)...

    Open in Orca/InstEd, and Create a new Transform; remove the following lines from the InstallExecuteSequence table:-

    • VM_InstallUSB
    • VM_InstallUSB_SetData
    • VM_InstallHCmon
    • VM_InstallHCmon_SetData
    • VM_InstallUSBArbitrator
    • VM_InstallUSBArbitrator_SetData
    • VM_StartUSBArbSvc

     

    Save your transform down, prep your VM with the pre-reqs (above) and msiexec with the transform in your basic capture.

    • Edited by Sizzl Tuesday, September 27, 2011 11:18 AM
    • Marked As Answer by Sizzl Tuesday, September 27, 2011 11:19 AM
    •  
  • Tuesday, October 18, 2011 6:06 PM
     
     

    Would you be kind and post the actual steps you took to sequence VIC 5 please?

    I am new to App-V and have been strugling for weeks trying to sequence VMware vSphere Client 5.

    Thanks in advance.

    -v

  • Wednesday, October 19, 2011 8:37 PM
     
     

    Finally got VMware Client 5.0 sequenced and ran the same successfully.

    I had to sequenced Microsoft Visual # 2.0 SE, then using App-V Client expand Visual 2.0 SE and then sequence VMware Client 5.0 per Tim Mangan’s GridMaster Sequencing Guide from the class.

  • Friday, October 28, 2011 12:26 PM
     
     
    Could you post your recipe please?
    • Proposed As Answer by Virgil Sabas Tuesday, November 08, 2011 11:53 PM
    • Unproposed As Answer by Virgil Sabas Tuesday, November 08, 2011 11:53 PM
    •  
  • Tuesday, November 08, 2011 11:53 PM
     
     Proposed Answer

    Running VIC5 on Win7 x64

    Note that I have to sequence Visual J# x64 and VIC5

    Extract the VMware vSphere Client 5.0 installer files

    -          Clear all temp folder

    -          Run the installer VMware-viclient-all5.0.0-455964.exe

    -          Stop at language selection

    -          Copy files generated by installer and save it somewhere then kill the install

    -          From the save files, find VMware-viclient.exe and run it

    -          Stop on Welcome to the installation wizard…

    -          Navigate back to temp and copy and save files generated by the installer specifically the VMware vSphere Client 5.0.msi

    -          Generate .mst transform file Using InstEd or ORCA to modify the VMware vSphere Client 5.0.msi installer with the following table/rows deleted on that .mst

    o   CustomAction/VM_CheckVJSharpRedist

    o   CustomAction/VM_InstallVJSharp

    o   InstallExecuteSequence/VM_InstallHcmon

    o   InstallExecuteSequence/VM_InstallHcmon_SetData

    o   InstallExecuteSequence/VM_InstallUSB

    o   InstallExecuteSequence/VM_InstallUSB_SetData

    o   InstallExecuteSequence/VM_InstallUSBArbritrator

    o   InstallExecuteSequence/VM_InstallUSBArbritratorSetData

    o   InstallExecuteSequence/VM_StartUSBArbSvc

    o   InstallUISequence/VM_CheckVJSharpRedist

    -          Sequence Visual J # (vjredist64.exe) as Middleware  and save, revert sequencer

    -          Bring up Sequencer and expand sequenced middleware (Tools>Expand..)

    -          Create new package, reboot when sequencer present it as issue

    -          Login and bring up sequencer and expand Visual J# again,

    -          Create new package, ignore reboot message this time

    -          Select custom when ask to run app just before monitoring

    -          Run msiexec /i “VMware vSphere Client 5.0.msi” TRANSFORMS= <filename>.mst

    -          Select customize package option when presented

    -          On Sequencer, got to OSD tab and edit OSD to create dependency for Visual J#

    -          Under \SOFTPKG\IMPLEMENTATION\VIRTUALENV right lick to create Element, add DEPENDENCIES

    -          Right click created DEPENDECIES and create Element, Add CODEBASE

    -          Edit the CODEBASE to contain info from generated Visual J# .sprj (ignore FILENAME and PARAMETERS)

    -          Save VIC5 package and deploy with Visual J#

    -          On AppV client, run Visual J# and then VIC5

    I am sure there are more elegant way to do this.




    • Proposed As Answer by Virgil Sabas Tuesday, November 08, 2011 11:53 PM
    • Edited by Virgil Sabas Wednesday, November 09, 2011 12:04 AM
    •  
  • Thursday, November 10, 2011 8:08 AM
     
     

    I found this thread while trying to sequence for 32bit.

    I did everything in Virgil's great recipe until the sequencing part.

    I put Visual J and the vSphere Client in one sequence.

    So first install Visual J and then the vSphere Client with the transform.

    In the installlation phase I also started the client and connected to our vSphere 4.1 virtualcenter to get the support files for that version in the client. Now the client can manage 4.1 and 5.0.

    I did not install any vSphere plugins.