Is there is a way to get/enum properties passed using msiexec? I need to show an error if property is misspelled.
Get command line arguments in Wix
2.2k views Asked by Sergey Ch. AtThere are 2 answers
Stein Åsmul
On
All properties set at the command line must be PUBLIC (uppercase) properties, and if they are set on the command line they should be added to the list of properties passed through to the server installation process via the SecureCustomProperties property delimited list of properties. Any property not listed here won't be available in deferred installation mode where changes of all kinds can be made since it runs with the LocalSystem account - the built-in operating system service account. The user interface sequence runs with user rights, and can be skipped entirely if the install is run silently.
If you keep this list of properties in SecureCustomProperties properties updated with all properties accepted set via the command line, you can enumerate over them with a simple string operation. You split the string by semicolon, and then enumerate all the values. You can set default values in the property table, and override them on the command line. Your code can check whether the values sent to the server process are the default ones or if they have been changed. You can even set an unacceptable value as default, so the property has to be overridden via command line.
Be aware of the EnableUserControl property.
Related Questions in WINDOWS
- how to play a sounds in c# forms?
- Echo behaviour of Microsoft Windows Telnet Client
- Getting error while running spark-shell on my system; pyspark is running fine
- DirectX 9 With No SDK Installed - How To Translate a D3DMATRIX?
- Gradle 8.7 cannot find installed JDK 22 in IntelliJ
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Cannot load modules/mod_dav_svn.so into server
- Issue with launching application after updating ElectronJs to version 28.0.0 on Windows and Linux
- 32-bit applications do not display some files in Windows 10
- 'bun' is not recognized as an internal or external command
- mkssecreenshotmgr taking a screenshot
- Next js installation in windows 7 os
- Can't resize a partition using Mini Tool?
- Is there any way to set a printer as default according with Active Directory Policy Security Group and PC hostname?
- Electron Printing not working on Windows (Works on Mac)
Related Questions in WIX
- Wix bundle of third party exe and new msi cant figure out detect conditions
- Getting 'Error writing to file' during WiX Toolset upgrade when changing installation scope
- Unable to format string in desired format - WiX
- wix toolset radio button condition
- How to Add custom dialog to Wix v4
- How to invoke UAC(Elevation shield) Prompt while trying to open bootstrapper bundle exe in WIX
- How do I use heat.exe with Visual Studio extension?
- Is anybody using WiX Toolset v5.0.0-rc.1?
- WixToolset v4 - Installation with scope "PerUser" fails when package NetFx462Redist is used
- Wix not writing to HKCU when run with a user needing admin login?
- WIX project Radio button value usage
- WinAPI / WIX - How to detect if the MSI installer is running on ARM64 or x86?
- Detect re-installation on rollback
- Update to Wix 3.14 from 3.11 get error MSB4181: The "MSBuild" task returned false but did not log an error
- Wix: Error LGHT0091: Duplicate symbol 'Property:WIX_IS_NETFRAMEWORK_472_OR_LATER_INSTALLED' found
Related Questions in INSTALLATION
- INSTALL_FAILED_DUPLICATE_PERMISSION: Package
- How can i install pyaudio on MacOS
- Problem installing Manim on Windows 11. Error regarding the wrong "decorator" version
- 'No such file or directory' installing RTC-Tools through pip
- Install Postfix Mail Server
- Plugin with id 'com.android.application' not found in Github Winlator Project
- OSError: [WinError 5] Access is denied: 'c:\\python311\\scripts\\pip.exe' Consider using the `--user` option
- Installing the C compiler for LC3
- Why is installation of MySQL on my mac is always halted
- OS: Parrot OS (hashcat : Depends: libminizip1t64 but it is not installable)
- GROMACS 2024 with CP2K 9.1 BUILD
- After the installation process When the server is running, nothing is displayed on the page myddleware
- PHP php_mongodb.dll for 32bit
- A given package is installed but spyder won't see it
- I cant install libraries?
Related Questions in WINDOWS-INSTALLER
- Wix bundle of third party exe and new msi cant figure out detect conditions
- create MSI that can be installed in console per user and per machine
- Invoke-command works only when any user is logged (msi install)
- Windows installer silently skips over component marked as 'Local'
- Customizing the Behavior of the BrowseDlg in WiX to Use a Custom Dialog for Invalid Directories
- Unable to format string in desired format - WiX
- Creating a Desktop Version of a Web Application (NextJS TypeScript Golang Echo)
- wix toolset radio button condition
- Creating an Installer Wizard
- Using msiexec on unattend.xml as SynchronousCommand but it run as asynchronous
- How to protect MSI installer digital signature from tampering
- I finished writing the code for an Android application, and it was in Python kivy, and while converting it to exe, this problem appeared
- Windows Installer Issue: Files Not Replaced After Major Upgrade - Seeking Assistance and Clarification
- WinAPI / WIX - How to detect if the MSI installer is running on ARM64 or x86?
- 'The cabinet file media1.cab required for this installation is corrupted and cannot be used ' in dowloading Node.js
Related Questions in WIX3.7
- Unit Testing of Deferred Custom Actions in wix
- Wix Bundle - How to include EXE and and support files
- Installer '.msi' Not Working Which Is Created By Using WIX
- Wix Setup Project Giving Error While Building
- Wix installer wrong path to the users folder
- How to Create MSI installer using Command Line with WIX
- Wix installer - Unable to delete Installation directory after uninstallation
- Trying to run the multiple powershell scripts from wix installer
- Wix Installer: Uninstall Issue with DLL
- why always vc_redist DetectCondition getting failed in wix code(.wxs)
- Custom Action to set INSTALLFOLDER path
- How to add application version to the MSI file properties?
- Verification link in email using wix
- WIx Installer: is there any way to auto close installer shield after successful installation
- Display custom error instead of WiX default error for "MainEngineThread is returning 1624"
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
For some reason Windows Installer never implemented a property enumeration function. You can query the property table but that only gets you properties defined in the table at build time. I know of no way to do what you are trying to do. My best work around is to front end the MSI with an EXE bootstrapper and do your checks there. You can then pass something like EXEDRIVEN=1 to your MSI and then have your MSI gate check on that property.
Another thought is to use CLIENTPROCESSID to query Win32_Process in a custom action.