Silent (unattended) installation — Project Manager 4
Kstudio plugins are used by freelancers as well as in studios of different sizes – from several employees to hundreds.
Silent (unattended) installation simplifies the deployment of numerous installations into a large network: the setup runs with no dialogs, no questions and no user interaction at all.
In Project Manager 4 everything is built into the installer itself – you pass the options on the command line, and no additional helper package is required.
Project Manager 4 can be deployed across a studio without any user interaction. The setup executable accepts command-line switches directly, so you can push it with Configuration Manager (SCCM), Intune, PSADT, PsExec, PowerShell Remoting, an RMM tool, a GPO startup script or any deployment system that can run an .exe.
Requires Project Manager 4.01.93 or newer.
Quick start
Install for all 3ds Max versions found on the machine, without any window, and activate an online license key:
Project_Manager_Setup.exe /VERYSILENT /MAXVERSIONS=all /LICENSE=XXXX-XXXX-XXXX-XXXXA more typical studio command — pick the Max versions, set the interface language, choose the AI search languages, reuse a shared model cache on a network share, and write a deployment log:
Project_Manager_Setup.exe /VERYSILENT /MAXVERSIONS=2025,2026 /LANG=en-US /SEARCHLANGS=de,multi /LICENSE=XXXX-XXXX-XXXX-XXXX /AICACHE=\\nas\deploy\pm4-models /LOG=C:\deploy\pm4.logDeploying as SYSTEM (Configuration Manager, Intune, PSADT) or under a deployment account? Name the user the plugin is installed for — see Installing for the right user:
Project_Manager_Setup.exe /VERYSILENT /USER=DOMAIN\artist /CONFIG=\\nas\deploy\pm4.ini /LICENSE=XXXX-XXXX-XXXX-XXXXRun the installer with /? to print the same reference to the calling console. The setup is a Windows (GUI) application, so PowerShell and cmd do not wait for it and their prompt can overwrite the help text — pipe the output to read it cleanly:
Project_Manager_Setup.exe /? | Out-Host
Command-line options
Switches follow the Inno Setup style — /KEY or /KEY=value, case-insensitive. Quote any value that contains spaces, e.g. /AICACHE="D:\My Deploy\models".
| Option | Meaning | Default |
|---|---|---|
/SILENT | No prompts and no questions. A small progress window stays visible while AI models download. | — |
/VERYSILENT | No prompts and no window at all. Implies /SILENT. | — |
/CONFIG=<file.ini> | Read the options below from the [Setup] section of an INI file (key names without the leading slash). Command-line options override the file. | — |
/USER=DOMAIN\user | Account the plugin is installed for. Works without an active session — required when the installer runs as SYSTEM or when nobody is logged on. See Installing for the right user. | The interactively logged-on user |
/ALLOWADMINPROFILE | Install into the profile of the account the installer runs under when the target user cannot be determined, instead of failing with exit code 8. | — |
/MAXVERSIONS=<list> | 3ds Max versions to install into: 2025,2026 or all. | all detected |
/LANG=<culture> | Plugin interface language, e.g. en-US, de-DE, ja-JP. | Language of a previous installation, otherwise the Windows UI language, otherwise English |
/SEARCHLANGS=<list> | Languages for AI search queries: short codes such as de,fr,multi, or auto, or none. | auto |
/LICENSE=<key> | Online license key. Offline activation keys are not supported here — see below. | — |
/NOAI (same as /AI=0) | Do not install the AI engine and do not download any AI model. | AI enabled |
/AICACHE=<dir> | Folder holding the AI model archives. Missing archives are downloaded into it, so the next machine reuses them. | — |
/DIR=<path> | AI engine folder. | %LOCALAPPDATA%\Kstudio\AI-Engines |
/DBTYPE=mysql|sqlite | Database the plugin connects to on its first start. See Database connection. | Keep the current setting (SQLite on a new installation) |
/DBHOST=<host> | MySQL server. Required with /DBTYPE=mysql. | — |
/DBPORT=<port> | MySQL port. | 3306 |
/DBUSER=<user> | MySQL user. Required with /DBTYPE=mysql. | — |
/DBPASSWORD=<password> | MySQL password. Prefer the /CONFIG file for it — see Database connection. | — |
/LOG=<file> | Write the installation log to this file in addition to the standard log. | — |
/NORESTART | Never prompt to restart Windows. A pending restart is reported through exit code 3010 instead. | — |
/?, /HELP | Print the option list and exit. | — |
Unknown options are an error, not a warning. A misspelled switch or an invalid value stops the installer with exit code 1 before anything is installed — a silent installation that quietly ignored your /LICENSE would look successful, which is worse than failing.
Using a configuration file
For large rollouts it is easier to keep the settings in one INI file and pass a single switch. Use the same key names without the leading slash, in a [Setup] section; flags accept 1, true or yes.
[Setup] VERYSILENT=1 MAXVERSIONS=2025,2026 LANG=en-US SEARCHLANGS=de,fr,multi AICACHE=\\nas\deploy\pm4-models LOG=C:\deploy\pm4.log NORESTART=1 ; Optional: connect the plugin to the studio MySQL server DBTYPE=mysql DBHOST=db.studio.local DBPORT=3306 DBUSER=pm_user DBPASSWORD=XXXXProject_Manager_Setup.exe /CONFIG=\\nas\deploy\pm4.ini /USER=DOMAIN\artist /LICENSE=XXXX-XXXX-XXXX-XXXX
Anything given on the command line wins over the file, so one shared INI plus a per-machine user and license key is usually all you need.
Installing for the right user
The plugin files are installed for all users under %ProgramData%\Autodesk\ApplicationPlugins, but the license, settings, logs and AI engine live in the profile (%LOCALAPPDATA%) of the person who runs 3ds Max. The installer needs administrator rights, so it often runs under a different account — SYSTEM in Configuration Manager or Intune, a deployment account in PsExec. The target user is determined in this order:
/USER=DOMAIN\user— the account you name. Works without anybody being logged on, so this is the right choice for Configuration Manager, Intune, PSADT and overnight rollouts. The account must already have a profile on the machine (it has signed in at least once); otherwise the installer stops with exit code8.- If the installer is not elevated — the account it runs under.
- Otherwise — the user signed in to the machine. If nobody is signed in, or several different users are, a silent installation stops with exit code
8instead of guessing.
/ALLOWADMINPROFILE replaces that exit code 8 with an installation into the profile of the account the installer runs under. Use it only when that account is the one who will work in 3ds Max.
Licensing
Pass a single online license key with /LICENSE. The key is applied right after the files are installed, using the same licensing library the registration dialog inside 3ds Max uses.
- Internet access is required at activation time.
- Offline activation keys are not supported in silent mode: they require a manual round trip with identification files through our website. Such a key is rejected with exit code
4and a clear message in the log. - Installing for another account (
/USERwhile the installer runs asSYSTEMor a deployment account): the installer cannot activate the license inside somebody else’s profile. The key is stored in that user’s%LOCALAPPDATA%\Kstudio\ProjectManager_4-pending.keysand activated automatically, silently, the first time the user starts 3ds Max — the machine needs internet access at that moment. This is the normal path for network deployment, so the installer returns exit code0. - If activation fails — no network on the machine being deployed, for example — the installation itself still succeeds. The key is stored in the same
ProjectManager_4-pending.keysfile and applied automatically on the first 3ds Max start, as soon as the machine can reach the licensing server. The installer returns exit code4so your deployment report shows the machine as “installed, not yet licensed”.
Database connection
A new installation keeps its library in a local SQLite database. To connect every workstation to the studio MySQL server right away, pass the connection with /DBTYPE=mysql, /DBHOST, /DBUSER, /DBPASSWORD and, if the port is not 3306, /DBPORT.
- The connection is applied the first time each installed 3ds Max version starts the plugin. From then on it is an ordinary setting, the same as one entered in Preferences.
- Without
/DBTYPEthe current setting is kept, so an upgrade does not touch a connection the user has already configured./DBTYPE=sqliteswitches back to the local database. - Inconsistent options are rejected with exit code
1:/DBHOST,/DBPORT,/DBUSERor/DBPASSWORDwithout/DBTYPE=mysql, MySQL without a host or user, or a port outside 1–65535.
Keep the password out of the command line. A command line is visible in the process list and is recorded by deployment tools (for example Configuration Manager’s
AppEnforce.log). PutDBPASSWORDinto the/CONFIGfile on a share only the deployment account can read. The installer never writes the password to its log.The plugin stores the password in plain text in its settings inside the user’s profile, the same as when it is entered in Preferences. Use a dedicated MySQL account with privileges limited to the Project Manager database.
AI models and the shared cache
The AI features (visual search, classification, text search, multilingual queries) need model files. The installer downloads them automatically — you do not have to prepare anything.
On a single machine that is a one-time download; across a studio, downloading gigabytes to every workstation is not.
/AICACHE=<folder> solves this with one switch. The cache is self-filling: if an archive is missing from the folder it is downloaded as usual and kept there; if it is present, it is unpacked locally with no network traffic at all. Point every machine at the same network share, and the first one populates it for the rest. Downloads are written through a temporary .part file, so several machines can fill the same share at the same time.
Manual preparation is only a fallback — for machines with no internet access, or when you want the very first deployment to run offline too. File names in the cache are fixed and readable, so you can fill the folder by hand; see How to manually download and install AI models for the direct links:
| File | Contents |
|---|---|
clip-vit-l14-full.zip | Visual model — image search and AI classification |
clip-vit-l14-text_encoder.zip | Text encoder — search by text description |
opus-mt-<code>-en.zip | Translation model for one search language, e.g. opus-mt-de-en.zip |
small100-330M.zip | Multi-language model, used for the multi search language |
If the workstations have no internet access at all, download the archives once on any machine with a connection, put them into the /AICACHE folder under exactly the names above, and the silent installation will run fully offline.
A cached archive that turns out to be truncated or corrupted is discarded and re-downloaded, so a broken share cannot silently produce broken installations.
If you do not want AI features at all, use /NOAI: nothing is downloaded and the installation takes seconds.
AI search languages
/SEARCHLANGS controls which translation models are installed, i.e. in which languages your artists can type search queries.
auto(default) — keep the languages already installed on that machine, otherwise follow the interface language.none— install no translation model. English queries always work without one.- An explicit list —
/SEARCHLANGS=de,fr,multi. Exactly these are installed and any other previously installed language is removed.
Use multi for languages without a dedicated model — one shared multi-language model covers them.
Supported search language codes: uk, de, es, fr, it, pl, pt, tr, zh, ja, da, ar, nl, ko, hi, sv, id, sk, cs, bg, hu, vi, th, tl, fi, ro, he, el, hr, no, multi.
Supported interface languages (/LANG): en-US, da-DK, de-DE, es-ES, fr-FR, it-IT, pl-PL, pt-BR, tr-TR, uk-UA, zh-CN, ja-JP.
Exit codes
The installer returns a meaningful exit code, so a deployment script can tell “done” from “installed but needs attention”.
| Code | Meaning |
|---|---|
0 | Success. Also returned when the license key was stored for the first 3ds Max start of another account (see Installing for the right user). |
1 | Invalid arguments — nothing was installed. |
2 | None of the requested 3ds Max versions was found on the machine. |
3 | Installation failed. |
4 | Installed, but the license key was not activated (no network, wrong key, or an offline-activation key). |
5 | Installed, but one or more AI models could not be downloaded. The plugin works; the affected AI feature does not until the model is present. |
6 | Installed, but the AI engine is not usable: it could not be placed into the user profile, or the Microsoft Visual C++ runtime 14.50 or newer could not be installed. Unlike code 5, the models themselves may be fine. |
7 | The silent installation was interrupted before it finished — for example, somebody closed the /SILENT progress window. |
8 | The user the plugin is installed for could not be determined — nothing was installed. Pass /USER (or /ALLOWADMINPROFILE), see Installing for the right user. |
3010 | Installed, a Windows restart is required to finish. |
If several things go wrong at once, the first problem is the one reported — a failed installation is more interesting than the license that could not be applied afterwards. The log always lists every issue.
Logging
Every silent run logs each decision it made — target user, selected Max versions, interface language, search languages, database type, model cache hits, license activation result. Two destinations:
- Always:
%LOCALAPPDATA%\Kstudio\data\logs\kstudio.login the profile of the user the plugin is installed for - Additionally, with
/LOG=<file>: your own file, which is convenient to collect on a share, e.g./LOG=\\nas\deploy\logs\%COMPUTERNAME%.log
If a machine reports a non-zero exit code, that log is the first place to look. The uninstaller writes its own log — see Silent uninstallation.
Silent uninstallation
In 4.01.88 and earlier the uninstaller always shows the version selection dialog, even with
/SILENT.
Every new version upgrades the existing installation in place and replaces the uninstaller, so deploy the current version over the old one first (for example as a supersedence in Configuration Manager), then uninstall silently.
The uninstaller is C:\Program Files\Kstudio\Project Manager\unins000.exe. Its command line is also registered as QuietUninstallString under HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{83ED29B6-8087-41E6-ABB3-F325A664D112}}_is1.
| Option | Meaning | Default |
|---|---|---|
/SILENT, /VERYSILENT | No dialogs. /VERYSILENT also hides the progress window. | — |
/MAXVERSIONS=<list> | 3ds Max versions to remove: 2025,2026 or all. The other versions stay installed and keep their entry in Programs and Features. An explicitly empty value (/MAXVERSIONS=) is an error, not “all” — an empty variable in a deployment script must never remove every version. | all installed, when the option is not given |
/REMOVESETTINGS | Also remove the plugin settings of the removed versions from the profile of the user the plugin was installed for. | Settings are kept |
/REMOVEAI | Also remove the Kstudio\AI-Engines folder with the AI engine and models. | AI engine is kept |
/LOG="<file>" | Write the uninstall log to this file. | — |
/NORESTART | Never restart Windows. | — |
Remove everything:
"C:\Program Files\Kstudio\Project Manager\unins000.exe" /VERYSILENT /NORESTART /LOG="C:\Windows\Temp\pm4-uninstall.log"
Remove only the 3ds Max 2025 version together with its settings:
"C:\Program Files\Kstudio\Project Manager\unins000.exe" /VERYSILENT /NORESTART /MAXVERSIONS=2025 /REMOVESETTINGS /LOG="C:\Windows\Temp\pm4-uninstall.log"
- Exit code:
0means the uninstallation finished; any non-zero code means it did not run to completion. A silent uninstallation stops with a non-zero code and a reason in the log when 3ds Max is running, when/MAXVERSIONSis empty, or when it matches none of the installed versions. - Logging: the plugin’s
kstudio.logis not used by the uninstaller. Pass/LOG="<file>"; an uninstallation started from Programs and Features writes a log to%TEMP%automatically.
Before you deploy
- Close 3ds Max on the target machine. In interactive mode the installer warns you; in silent mode it does not ask, and files in use cannot be replaced. The silent uninstaller refuses to run while 3ds Max is open.
- Administrator rights are required — the plugin is installed for all users, under
%ProgramData%\Autodesk\ApplicationPlugins. - Deploying as
SYSTEMor a deployment account — pass/USER, and make sure that user has signed in to the machine at least once. - Internet access is needed for license activation and for any AI model that is not already in your
/AICACHEfolder. With a fully populated cache and/LICENSEomitted, a silent install needs no network at all. - Demo assets are never installed in silent mode.
- Test the exact command on one machine first, then roll it out.
Deployment examples
Configuration Manager / Intune — the program runs as SYSTEM, so name the user:
Install: Project_Manager_Setup.exe /VERYSILENT /NORESTART /USER=DOMAIN\artist /CONFIG=\\nas\deploy\pm4.ini /LICENSE=XXXX-XXXX-XXXX-XXXX
Uninstall: "C:\Program Files\Kstudio\Project Manager\unins000.exe" /VERYSILENT /NORESTART /LOG="C:\Windows\Temp\pm4-uninstall.log"
PSADT — Execute-Process waits for the installer and receives its exit code:
Execute-Process -Path "$dirFiles\Project_Manager_Setup.exe" `
-Parameters "/VERYSILENT /NORESTART /USER=DOMAIN\artist /CONFIG=`"$dirFiles\pm4.ini`" /LICENSE=XXXX-XXXX-XXXX-XXXX"PsExec — one machine, as SYSTEM, waiting for the result:
psexec \\WS-014 -s -w C:\deploy C:\deploy\Project_Manager_Setup.exe /VERYSILENT /USER=DOMAIN\artist /CONFIG=C:\deploy\pm4.ini /LICENSE=XXXX-XXXX-XXXX-XXXXPowerShell Remoting — a list of machines and their users, collecting exit codes:
$machines = @{ 'WS-011' = 'DOMAIN\anna'; 'WS-012' = 'DOMAIN\mark'; 'WS-013' = 'DOMAIN\olga' }
foreach ($m in $machines.Keys) {
$code = (Invoke-Command -ComputerName $m -ArgumentList $machines[$m] -ScriptBlock {
param($user)
$p = Start-Process 'C:\deploy\Project_Manager_Setup.exe' `
-ArgumentList '/VERYSILENT','/CONFIG=C:\deploy\pm4.ini',"/USER=$user" `
-Wait -PassThru
$p.ExitCode
})
Write-Host "$m -> $code"
}Exit code 0 means finished; 4 means the plugin is installed and the key will be applied on the first 3ds Max start; 8 means the user could not be determined; 3010 means the machine still needs a restart.
Related
- Manually downloading and installing AI models
- Standard installation and how to receive your license key — see the corresponding FAQ article.
- Deploying Project Manager 3
This section applies to Project Manager 3 only. Version 4 does not use the SilentModeInstall package (AutoInstallStart.bat, AutoInstallStart.ms) and it can be removed after a version 4 deployment — see the instructions above. In version 4 the license key is passed with /LICENSE, and the database connection that KstudioInstallComplete used to write is set with the /DBTYPE options.
Using:
- Download and extract the archive SilentModeInstall.zip
- Copy the ZIP archive with the full version of the plugin into one folder with “AutoInstallStart.bat”
- Open “AutoInstallStart.bat” and uncomment/add a valid path to 3dsMax.exe
- Write activation keys to the file “Activation/ActivationKeys.txt”
- Run “AutoInstallStart.bat” using PsExec/PowerShell or manually on each computer
Download example: SilentModeInstall.zipNote: Internet connection is required to use activation keys
Translate



