How to change installer properties in my C# custom action?
相关问题
- How does the setup bootstrapper detect if prerequi
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
You can't. Only Win32 DLLs and VBScript Immediate actions have write access to installer properties. Any other custom action type can only receive properties through their command line or through CustomActionData.
Here is a tutorial for a C++ DLL custom action: http://www.codeproject.com/KB/install/msicustomaction.aspx
To get and set Windows Installer properties you can use MsiGetProperty() and MsiSetProperty().
To access a WiX property, such as those set with the Property element, use the Session object's indexer. Here is an example:
Setting properties is just as easy. You'll set the value by referencing the key with the name of your property. Here's an example:
If the property doesn't exist when you set it, it will be created. Similarly, you can clear a property by setting its value to null. Creating or changing property values from a custom action doesn't stop the installer from displaying those properties in the install log. So, if a property holds information that ought to be hidden, you're better off declaring it in your WiX markup first and setting its Hidden attribute to yes.