If you landed on this page you are probablly working on packaging Microsoft Teams and have been banging your head against a desk trying to figure out how to disable it from loading at startup. Fortunately for you, I figured out a solution that works 100% of the time.
What do you need?
Where to download?
Node.JS – https://nodejs.org/en/
Microsoft Teams – https://teams.microsoft.com/downloads
Notepad++ – https://notepad-plus-plus.org/
Essentially, Microsoft Teams is a webpage in the background. It was developed with Electron which is a framework that lets developers create cross-platform desktop apps with web front-end technologies. Some other popular applications such as Skype, and Visual Studio Code were also built with using this technology.
With Electron apps, most of the source files for the application will be packaged into a file named app.asar. You can open the file in Notepad but you cannot save it since it is a READONLY file. From my experience, any changes made to it via Notepad will crash the app and prevent it from loading.
How do you do it?
- Download and install Microsoft Teams
- Download and install Node.JS
- Open the CMD prompt as an Administrator
npm install -g asar
asar extract "%LOCALAPPDATA%\Microsoft\Teams\current\resources\app.asar" C:\Temp\asar
Note – Try running “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Node.js\Node.js command prompt.lnk” if the command prompt does not recognize the ASAR command.
- Navigate to C:\Temp\asar\lib
- Locate desktopConfigurationManager.js and open the file with Notepad++
- Search for OPENATLOGIN (There should be two references) and set the value to FALSE as shown below in the screenshots:
Last but not least, it is time to repackage everything!
asar pack "C:\TEMP\asar" "C:\TEMP\app.asar" --unpack *.node
Now that you have a customized app.asar, you can silently install Teams and also not worry about it launching at startup. See the install script below for an example:
# Install Microsoft Teams
Start-Process "$PSScriptRoot\Teams_windows_x64.exe" -ArgumentList "-s" -Wait
# Copy customized app.asar
Copy "$PSScriptRoot\app.asar" "$env:LOCALAPPDATA\Microsoft\Teams\current\resources\app.asar" -Force
I recently had some issues specifying server data for my LexisNexis Interaction silent install. For some reason, the server information that I used was not applying during the install. After a few failed attempts, I decided to review the MSIEXEC logs and found the following lines:
Action start 15:13:52: SetDataDirDef.
MSI (s) (F0:68) [15:13:52:542]: Doing action: SetDBServerSRCH
Action ended 15:13:52: SetDataDirDef. Return value 1.
MSI (s) (F0:68) [15:13:52:542]: Transforming table CustomAction.
MSI (s) (F0:68) [15:13:52:542]: PROPERTY CHANGE: Deleting IADBSERVER property. Its current value is ‘SQLSERVER’.
According to the logs, it looks like the server information that I added was getting deleted because of the SetDBServerSRCH action.
Now that I found what was causing the server information to be removed, I decide to review the InterAction MSI table and search for the SetDBServerSRCH action. Once I found the action, I was able to locate the condition that was forcing the action to run.
IANETINSTALL=0 and UILevel<5
After a few tests, I verified that you can specify server information if you make the condition false. So all you have to do is add the following to your MSIEXEC command:
And for anyone lazy enough to not read everything, here is the entire silent install command for InterAction.
MSIEXEC /I InterAction Desktop Applications.msi IADBSERVER=”DB SERVER” IADBNAME=”DB NAME” IAPORT=”PORT HERE” NETAPPSERVER=”APPSERVER” IANETINSTALL=2 /qn
I hope this helps someone!
Recently, I decided to make a Powershell script that will make it easier for larger environments to uninstall and upgrade software. This is a continuation of the script that I wrote a while back ago that can find uninstall strings for 32 and 64bit applications (Link). Similar to the previous script, this script will automatically find the uninstall string for the specified program, but now it will also uninstall the program and install an upgraded version with the install file that you picked.
Depending on your environment, you may or may not need to have prerequisites that need to be done before starting an upgrade. These tasks may include, disabling your antivirus or uninstalling any software that may not be compatible with Windows 10. Once you have automated these tasks you can start the Windows 10 upgrade process by using the following command:
"setup.exe" /auto upgrade /quiet /copylogs %SystemDrive%\Temp\Deployment_Log
This is a very basic way to silently upgrade your computers to Windows 10. You can add further customization such as adding a post script that will launch after the upgrade is done. To do this you can add the /PostOOBE<location>\[setupcomplete.cmd] switch to the command above.
Once you have your scripts ready, you can deploy them with the software that you use to push out your packages (Kaseya, LANDesk, SCCM, etc).
If you are in an environment that has multiple versions of Flash Player, I would recommend using Adobe’s Uninstall Flash Player tool in your Flash Player install script. You can download the uninstall tool here.
Using the following line will uninstall any version of Flash Player that was installed on the computer.
Below is an example script that uninstalls and installs the latest version of Flash Player.
REM Setting Current Directory
REM Uninstalling Flash
REM Installing Flash
msiexec /i "install_flash_player_21_active_x.msi" /qn /norestart /log "C:\Temp\flashinstall.log"
IF %ERRORLEVEL% == 0 goto MMS
REM Copying SilentAutoUpdate Config
IF EXIST %WINDIR%\SysWow64\Macromed\Flash (
copy /Y mms.cfg %WINDIR%\SysWow64\Macromed\Flash
copy /Y mms.cfg %WINDIR%\System32\Macromed\Flash
) ELSE (
copy /Y mms.cfg %WINDIR%\System32\Macromed\Flash
Here is a freebie for everyone that does not have a commercial license for Teamviewer. The package below is a silent install for Teamviewer 11 without the MSI!
In this example I will show you how to silently install Salesforce Chatter 3.2.1. You will first need to download AIR Redistribution Helper (ARH) here. The AIR Redistribution Helper (ARH) utility is a small executable that you can use as part of a custom installer.