Jump to content


Ath3na

Established Members
  • Posts

    50
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Ath3na

  1. Hi,

    If you want the application to be configured for each new user that logs onto the machine and you only want it to occur once per user than Microsoft have something built for this already.

    It's called activesetup.

    You just add a few registry keys to HKLM. User logs on and it runs whatever is in the stubpath

    info

    Example

    If you run the below code in the ISE as administrator, then log off and back on again IE will load just one time per new user :)

    For each new activesetup make sure you make it unique with a new GUID

    #requires -Version 1
    
    <#
    Author: Richard Knight
    Version:1.0
    
    Purpose: Creates Active Setup keys
    random GUID created at https://www.guidgenerator.com/
    #>
    
    $Appname = 'Name of Application'
    $stubpath = 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
    
    $Reglocation = 'HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{f4d8fb9e-3bce-4152-add4-2f4e5f647610}'
    New-Item -Path $Reglocation -Force
    New-ItemProperty $Reglocation -Name 'Product' -Value "$Appname"
    New-ItemProperty $Reglocation -Name 'StubPath' -Value "$stubpath"
    New-ItemProperty $Reglocation -Name 'Version' -Value '1'

     

  2. Hi,

    The appenforce.log is the correct log to monitor application installation when monitoring application model deployments. When the installation starts that's the log that shows the process running and exit code etc

    Try adding in a second application and push it to the same device.

    From a glance at your logs it hasn't received the software via policy yet, the second link is the one you want.

    Does the client look healthy? if you open control panel there is a Configuration Manager applet. In the actions tab are there more than 2 listed?

    You are correct about the catalogue, you need the role installed to be able to use it. But you do not need it for software deployments. Software center will be fine.

    https://blogs.technet.microsoft.com/manageabilityguys/2013/10/01/configmgr-2012-tracking-application-model-installations-on-clients/

    https://web.archive.org/web/20160422151315/http://www.moyerteam.com/2013/10/troubleshooting-configmgr-application-deployments-detailed-log-file-analysis/

  3. Hi,

     

    You would generally have the old adobe product added as an application, then when you want to remove it and install a newer product you would set supercedence, this would then automatically remove the old product and install the new.

     

    When you are doing an 'install' deployment then the detection rule will be looking for the presence for something added. The reverse is true for a removal.

     

    There are many ways to sort this, one option would be to create your new application as a script installer, this isn't tested and thrown together but maybe a pointer.

    :Remove Old Product
    AdobeCleaner.exe -S
    
    reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT
    
    if %OS%==32BIT SET APP_PATH=C:\Program Files\Adobe\Acrobat 11.0\Acrobat
    if %OS%==64BIT SET APP_PATH=C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat
    ECHO %APP_PATH%
    
    if exist "%APP_PATH%\Acrobat.exe" (
        ECHO Failed to remove old product, exiting with 1603
        EXIT /B 1603	
    ) else (
        ECHO Old product removed, moving on to install new product
        Msiexec /i "InstallNEWAPP.msi" Transforms="NEWMST.mst" /qn
        SET returncode=%errorlevel%
        Echo Any other actions can go here
        EXIT /b %returncode%
    )
    
    
  4. Hi,

     

    Is there any reason you don't want to allow the content to cache down to each machine?

     

    It's been years since I looked at 2007 but I would always set 'this package contains source files' and browse to the directory that contains the setup files, then distribute the content to DPs. This will then cache the package down to each machine and run it locally when you target a device.. No server access headache issues, and it's the way Configuration Manager is designed to run. It's all via bits so should be fine.

     

    99.99999999999 % of the time I go with a standard program.

    Run = hidden

    weather or not a user is logged on.

    runs with a UNC name

     

    for office though I would set to run only when no user is logged on.

    If the user is running office it will fail or a user might try and look for office while it's in the process of installing \ removing.

     

    I would create 2 or 3 separate programs for this.

     

    1 cscript.exe OffScrub10.vbs ProPlus /bypass 1 /q /s /NoCancel

     

    2 setup.exe /configure \\server\share\office365\proplus.xml

     

    I rolled out this change sometime last year and found 20 % of the devices failed to run the scrub properly. So I had the full content for office 2010 cache down locally set to fully remove the product, then it ran the office scrub, then it ran a 3rd program to install the new office, each was set to reboot the machine after.

     

    Each was chained via the program advanced tab, run other program first without the 'Always run this program first' checked (as you only want it to run once and not every time that program runs)

  5. Hi Doug,

     

    You only need to use %~DP0 when you need to know your current working directory or reference another directory, say a sub directory.

    an example are some of the adobe applications. Sometimes they have a setup.exe file and you have to reference the full path to a customisation xml.

     

    In that case an example would be (both files in package root folder)

     

    SETLOCAL
    SET WORKING=%~dp0
    %WORKING%Setup.exe %WORKING%custom.xml
    This is specifying the full path to the setup.exe and the xml file.
    If you just had a setup.exe and no custom xml to reference then just setup.exe on it's own as the command line would be fine.
    another example for a response file:
    Where the setup.exe is in a sub folder of your package called FOLDER and the response file is in a subfolder called FOLDER2
    "%~dp0FOLDER\setup.exe" -s -f1"%~dp0FOLDER2\Setup.iss"
    In your script I wouldn't bother with CD, there is no need, just put the full path to the file you want to run. There is no need to use ~dp0 in your example.
    I would tackle your task with something like this:(not tested but might set you on the right path)
    ECHO off
    reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT
    
    if %OS%==32BIT SET APP_PATH1=C:\Program Files\Ultravnc\unins000.exe
    if %OS%==32BIT SET APP_PATH2=C:\Program Files\Uvnc bvba\Ultravnc\unins000.exe
    if %OS%==64BIT SET APP_PATH1=C:\Program Files (x86)\Ultravnc\unins000.exe
    if %OS%==64BIT SET APP_PATH2=C:\Program Files (x86)\Uvnc bvba\Ultravnc\unins000.exe
    
    if exist "%APP_PATH1%" (
        "%APP_PATH1%" /VERYSILENT /NORESTART
        EXIT /B %errorlevel%
    ) else (
        ECHO EXE not found
    )
    
    if exist "%APP_PATH2%" (
        taskkill /F /IM winvnc.exe 
        "%APP_PATH2%" /VERYSILENT /NORESTART
        EXIT /B %errorlevel%
    ) else (
        ECHO EXE not found
    )
    
    

    Have a look at execmgr.log on the client to see why your package fails to install.

    Another troubleshooting step might be to download psexec and run your script with psexec -i -s cmd.exe

    this will open a command window under the system account, the system account is the account ConfigMgr uses to do the install so great for testing.

  6. The account configuration manager uses is the local system account. Download psexec from sysinternals. Then psexec -I -s cmd.exe gives a command prompt running under the system account. Type whoami at that prompt and it will show the local system account. To grant access to the share you could add the individual computer or domain computers or the everyone group via both ntfs and share permissions

  7. You only need to use %~dp0 when you need to reference the full path to something.

    For example a setup installer that also references an xml file (some Adobe apps are like this and you need to specify the full path to the xml file). In your example you can simply just call setup.exe /argument

     

    To find out why the installer fails first try it outside of configmgr. Copy the source to a client. Download psexec and do psexec -I -s cmd.exe

    This Will give a new cmd prompt

    Typing whoami should show the local system account. This is the same account configmgr uses. Now run your command to install the software. Maybe add some logging. From here you can figure out why it fails. If you look on the configmgr technet forum you Will see some issues installing java using the local system account.

  8. Your current version of SQL will run the latest version of Configuration Manager fine.

     

    https://technet.microsoft.com/en-us/library/gg682077.aspx?f=255&MSPPError=-2147217396#BKMK_SupConfigSQLDBconfig

     

    SQL Server 2008 R2

    SP1

    Minimum of cumulative update 6

    • System Center 2012 Configuration Manager with no service pack

    • System Center 2012 Configuration Manager with SP1

    • System Center 2012 R2 Configuration Manager

    • System Center 2012 Configuration Manager with SP2

    • System Center 2012 R2 Configuration Manager with SP1

    • Like 1
  9. I've just done 11g recently, maybe 10 is similar.

     

    I used the Oracle Universal Installer to create a response file for the silent installation. then deployed it in ConfigMgr like you would any other application.

    The command line I used after some reading and searching was:

    "%~dp0setup.exe" -silent -nowelcome -noconfig -waitforcompletion -nowait -responseFile "%~dp0client.rsp"

     

    -nowait prevents the installer from presenting an ok prompt at the end and -waitforcompletion keeps the first window open while the universal installer does it's stuff.

    In the end it went out smoothly and was fairly straight forward.

    The name of the response file I used was client.rsp

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.