Justin

//Justin
Justin

Forum Replies Created

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • Justin
    Participant
    Post count: 13

    Do the logs show anything?

  • Justin
    Participant
    Post count: 13

    Hi,

    You said not all computers have this problem. Did you check the local GPO (gpedit.msc)? Maybe you could also check if this registrykey is set to a value other than 0.

    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
    “DisableMSI”=dword:00000000

  • Justin
    Participant
    Post count: 13

    Are you sure the locations are correct? Your script is pointing to \\fs011nas\ and later on it is pointing to \\fs854nas\. Could you try to move the parameters to -Parameters?

    Just a tip. Create a variable to store the location. This will save you some time on checking for a typo.

    $O365FileShare = ‘\\fs011nas\0a31ops-software_center\MSOffice\O365’

    ## Uninstall All Office 2013 applications.
    Execute-Process -Path “$O365FileShare\Office2013\setup.exe” -Parameters “/configure $O365FileShare\Office2013\UninstallAll.xml”

  • Justin
    Participant
    Post count: 13

    Hi,

    The silent mode will silence all windows and popups, so if you want to be able prompt to the user then you need to use interactive mode. The script can be silent if you don’t use Show-InstallationProgress and configure to hide pop-ups in the XML file.

    You could use something like this for closing excel.

    Show-InstallationWelcome -PromptToSave -CloseApps 'excel' -AllowDeferCloseApps -DeferTimes 3 -CloseAppsCountdown 3600 -BlockExecution -PersistPrompt

    This will only prompt the user when excel is running and allows the user to close excel. A user will be allowed to defer the installation for 3 times and the 3rd time it will close the excel automatically in 1 hour. Excel will stay blocked until the installation is finished.

  • Justin
    Participant
    Post count: 13

    Hi,

    You could try this. Add an additional variable in the Param block of you Deploy-Application.ps1 file.

    Param (
    [Parameter(Mandatory=$false)]
    [ValidateSet(‘Install’,’Uninstall’)]
    [string]$DeploymentType = ‘Install’,
    [Parameter(Mandatory=$false)]
    [ValidateSet(‘Interactive’,’Silent’,’NonInteractive’)]
    [string]$DeployMode = ‘Interactive’,
    [Parameter(Mandatory=$false)]
    [switch]$AllowRebootPassThru = $false,
    [Parameter(Mandatory=$false)]
    [switch]$TerminalServerMode = $false,
    [Parameter(Mandatory=$false)]
    [switch]$DisableLogging = $false,

    # Custom citrix URL
    [string]$CustomURL = ‘https://locationToDefaultCitrixSite’
    )

    In your installation parameters for citrix you can call for $CustomURL.

    The bat files you created can now have something like this configured:

    Deploy-Application.exe -CustomURL http://Someothercitrixsite

  • Justin
    Participant
    Post count: 13

    It could be the process is started as 32 bit and is not seeing the 64 bit registry parts to detect the GUID. When you manually start the the script from a 64 bit CMD or Powershell it will work as the registry parts can be found.

  • Justin
    Participant
    Post count: 13

    In Deploy-Application.ps1 in the Post-installation phase include this as the last action. The script will reboot the machine and quit the script properly. If you create logs (see config XML) you can actually see when the reboot happend.

    If (($mainExitCode -eq 0) -OR ($mainExitCode -eq 3010)) {
    Show-InstallationRestartPrompt -NoCountdown
    }

  • Justin
    Participant
    Post count: 13

    To start the offscrub I have used this.

    <backtick> = should be replaced by an actual backtick.

    Execute-Process -Path "$exeCscript" -Parameters "<backtick>"$dirSupportFiles\$OffScrub<backtick>" $OffScrubArgs" -WindowStyle Hidden -IgnoreExitCodes '1,2,3,16,42,67'

  • Justin
    Participant
    Post count: 13

    Hi what I did was include the following code just above the Pre-installation phase.

    ## Configure correct paths for cscript depending on architecture.
    if ($is64Bit -and -not($is64BitProcess))
    {
    [string]$exeCscript = “$envWinDir\SysNative\cscript.exe”
    } else {
    [string]$exeCscript = “$envWinDir\system32\cscript.exe”
    }

  • Justin
    Participant
    Post count: 13

    I guess something goes wrong when Function Resolve-Error is called. See line 1150 of AppDeployToolkitMain.ps1.

    If ($LogErrorInvocationMsg) { [array]$LogErrorMessageTmp += $LogErrorInvocationMsg }

  • Justin
    Participant
    Post count: 13

    Put this in the POST-INSTALLATION section of your script.

    Execute-ProcessAsUser -Path 'C:\Program Files (x86)\Cisco Systems\Cisco Jabber\CiscoJabber.exe' -RunLevel LeastPrivilege

    This should run the application in the user context.

    • This reply was modified 8 months, 3 weeks ago by  Justin. Reason: Added code tags
  • Justin
    Participant
    Post count: 13

    If the package runs as SYSTEM then you need to make sure the machine is able to connect to the share. You could allow machines on the share by adding groups “Domain Computers” or “Authenticated Users” to the share location.

    Another option is to download the files to the client cache. You can put the Office installation files in the “Files” folder and refer to them by using $dirFiles. For instance “$dirFiles\Setup.exe”

  • Justin
    Participant
    Post count: 13

    You could run the following:

    Execute-ProcessAsUser -Path 'C:\Windows\System32\logoff.exe' -RunLevel LeastPrivilege

    or a little more flexible

    Execute-ProcessAsUser -Path "$($envWinDir)\System32\logoff.exe" -RunLevel LeastPrivilege

    This will run the process as the logged on user and simply log off.

Viewing 13 posts - 1 through 13 (of 13 total)