serkan sendur 821 Banned Featured Poster

hi guys, i want to integrate UILEVEL property of windows installer to MSI package. i use orca to modify .msi file, i created a new row in property table and set property to UILEVEl and set value to 2 but it didnt seem to change anything.
do you know how can i do that ?

Dani AI

Generated

As discovered, adding a Property-table row for the installer UI level will not make the MSI run silently. The Windows Installer engine sets the built‑in UILevel state at runtime; it is not something reliably enforced by a static Property table entry. To remove or reduce UI for an install you must control how the engine is invoked (or use a bootstrapper/wrapper that does).

Use the msiexec UI switches when launching the MSI. Example commands:

msiexec /i "MyPackage.msi" /qn
msiexec /i "MyPackage.msi" /qb
msiexec /i "MyPackage.msi" /qn /l*v "install.log"

/qn = no UI, /qb = basic UI. Add /l*v install.log to capture a verbose log and confirm what UILevel and other properties are at runtime.

If the goal is to ship an installer that always runs silently, build a small bootstrapper or setup.exe that calls msiexec with the desired switches (WiX Burn, a simple wrapper, or your deployment tool). A custom action that calls the Win32 API MsiSetInternalUI or a DLL to change UI level is technically possible but fragile and not recommended for general use. For enterprise deployment, prefer your management tool (GPO, SCCM, Intune) to pass the silent install switches instead of trying to bake UI changes into the MSI itself.

Troubleshooting checklist: verify you are installing the .msi directly (not a wrapped EXE), run a verbose log to see the engine-set UILevel, and avoid trying to force engine-level settings by placing them in the Property table.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.