Wix ServiceConfigFailureActions element: OnInstall, OnReinstall and OnUninstall attributes meaning and their defaults - service

I'm planning to use ServiceConfigFailureActions element in my Wix installer. I'm not quite sure I understand the meaning of its OnInstall, OnReinstall and OnUninstall attributes. The documentation says Specifies whether to configure the service when the parent Component is installed/reinstalled/uninstalled.What is configured? Is it only the failure actions part? Why is it required to configure the service if its component is uninstalled? What happens if these attributes are omitted? What are their defaults?

Related

IBM Watson Assistant: How to retrieve input value from chosen dialog option?

I already followed these great instructions on how to dynamically create dialog node options from generic input and it's working like charm. But for now I cannot see how to hand over the chosen option value to the next node to process further. Is there any documentation how to pass the chosen option value to the child node?
You can store any selected option and other information in context variables. They are passed around and can be accessed in other nodes. The information is available until you unset or delete the context variable.

GSettings, glib-compile-schemas and Eclipse

I am building this Gtkmm3 application in Ubuntu and wanted to explore GSettings. All was going well while following the instructions at the 'Using GSettings' page and then it was time to configure the make files. I use Eclipse 2019-12 IDE with CDT (V9.10) and 'GNU Make Builder' as the builder. I'm totally perplexed as to how to introduce the macros listed in the GNOME page into the make files. I even tried changing the project to a 'C/C++ Autotools Project' using Eclipse but still the necessary make files to add the macros were missing. Creating a new project with GNU Autotools does create the necessary make files but I was not able to get pkg-config to work with it.
Can anyone point me to some resource which explains how to compile the schema and how & where to load the resultant binary file (externally if necessary). I'll consider myself blessed if someone has already made a Gtkmm3 C++ application with GSettings support using Eclipse IDE in Linux and can share the details.
Finally I figured. Thought I'll share my findings here. Actually some one out there had explained this for python (link below).
Using GSettings with Python/PyGObject
Creating the schema
For the developer the work starts with defining a schema for the settings. A schema is an XML file that looks something like this.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE schemalist SYSTEM "gio_gschema.dtd" >
<schemalist>
<schema id="org.gtk.skanray.emlibrary"
path="/org/skanray/emlibrary/" gettext-domain="emlibrary">
<key name="wave-pressure-ptrach-visible" type="b">
<default>true</default>
<summary>Set visibility of 'Ptrach' trace in pressure waveform.</summary>
<description>The pressure waveform shows multiple traces where 'PAW' is always enabled and additionally 'Ptrach' can be displayed. This settings affects the visibility of the trachial pressure trace shown in this waveform channel.</description></key>
</schema>
</schemalist>
The file name has to have a ‘.gschema.xml’ suffix. The schema file should be in the project path, only so that it gets pushed to SVN.
Best would be to use an XML editor (e.g. Eclipse) that supports design of XML files from a DTD file. Use following DTD file.
gschema.dtd
It is possible to store anything derived from GVariant into GSettings. Refer to following page to understand the basic types and the ‘type’ attribute to be used in the schema.
GVariant Format Strings
Compiling the schema
With the schema ready, (sudo) copy it into /usr/share/glib-2.0/schemas/ then run,
> sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
At this point, the newly added settings can be seen / modified using dconf editor.
Accessing GSettings from the application
Coming to the main event of the show, this is how an application can read ( and / or write) settings. It is not necessary that one needs to bind property of an object to a ‘key’ in GSettings, it may be queried and used as well. Refer to GSettings API reference for details.
Glib::RefPtr <Gio::Settings> refSettings = Gio::Settings::create(“org.gtk.skanray.emlibrary”);
CLineTrace * pTrace = NULL; // CLineTrace is derived from Gtk::Widget
…
pTrace = …
…
if(refSettings)
{
refSettings->bind("wave-pressure-ptrach-visible",
pTrace,
"visible",
Gio::SETTINGS_BIND_DEFAULT);
}
Now you can fire up dconf editor and test the settings.
NOTE
Bindings are usually preferred to be made in class constructors. However binding to ‘visible’ property of a widget could be a bit tricky. Typically the top level window does a show_all() as the last line in its constructor. However constructors of the children of top level window would have completed executing including making the bindings. If there were settings that had stored ‘visibility’ as false then the top level window’s call to show_all() would mess up with that setting. In such cases it is advised to perform the bind one time in the on_map() handler of the respective class.

Windows Defender to find localization numeric value for Reporting

i need to create some SSRS reports For Windows Defender .. i need to find localization numeric values for Detection source
Detection Source: <Detection source> for example:
User: user initiated
System: system initiated
Real-time: real-time component initiated
IOAV: IE Downloads and Outlook Express Attachments initiated
NIS: Network inspection system
IEPROTECT: IE - IExtensionValidation; this protects against malicious webpage controls
Early Launch Antimalware (ELAM). This includes malware detected by the boot sequence
Remote attestation
Reference link enter link description here
i need to select in case so i need to know numeric values for each of option.
one thing is can use
SrsResources.Localization.GetString(Choose(Fields!DetectionSource.Value,"DetectionByUser","System","Realtime","IOAV","NIS","BHO","ELAM","LocalAttestation","RemoteAttestation","AMSI","UAC"), User!Language)
but then i dont have acces to Visual Studio as iam database person.. so cant create DLL and include in reference of report.
Please help me out how to find numeric values to each one of these.
From the statement SrsResources.Localization.GetString, I am guessing that you're using SCCM since that exact statement is part of the SCCM report:
Endpoint Protection -> Endpoint Protection - Hidden -> Computer malware list
If that's the case, then just copy the report and change what you need and the function will work.
Because in the report properties the srsresources.dll is referenced as SrsResources, culture=neutral, the dll is needed in order to translate the value to the correct name in the language the user running the report is using.
If you're just interested in the numeric values behind each entry, however, then it is just a list starting with one. Meaning:
"DetectionByUser",
“System",
“Realtime",
“IOAV",
"NIS",
"BHO",
"ELAM",
“LocalAttestation",
"RemoteAttestation",
"AMSI",
"UAC"

Keycloak theme variables

In the base templates of the Keycloak there are multiple examples of variables, that are accessed in the Freemarker Templates. For example, in the file:
https://github.com/keycloak/keycloak/blob/master/themes/src/main/resources/theme/base/login/login.ftl
There are fields:
properties.kcFormGroupClass
realm.rememberMe
url.registrationUrl
Where are those hashes defined? The only thing I found in the documentation was that I can access:
${some.system.property} - for system properties
${env.ENV_VAR} - for environment variables
but I cannot find f.e. url options. I would like to display the address that the user tries to access.
All this entities is as instances of Java Classes that was provided for Freemarker template engine during page rendering. You can search for corresponding classes in keycloak github repo. Usually they all named like %Something%Bean e.g. LoginBean, ClientBean, UrlBean.
look here:
https://github.com/keycloak/keycloak/blob/10.0.1/services/src/main/java/org/keycloak/forms/login/freemarker/model/RealmBean.java

Remove custom code workflow programmatically

For a variety of reasons too convoluted to explain here, I find myself in a position where I need to be able to remove custom code workflows, while leaving the solution there.
I essentially have the same code as the plugin registration tool
Namely
service.Delete("plugintype", new Guid(info));
where info is the workflow id [running on a foreach loop but that's beside the point]
However, while the tool removes the workflows without any issues, my code complains about dependencies.
EM:
Additional information: The PluginType(a0b2dcf7-cf2a-111e-7da9-003021880a42) component cannot be deleted because it is referenced by 1 other components. For a list of referenced components, use the RetrieveDependenciesForDeleteRequest.
which I duly did
RetrieveDependenciesForDeleteRequest req = new RetrieveDependenciesForDeleteRequest();
req.ComponentType = 90; //plugintype
req.ObjectId = new Guid(info);
RetrieveDependenciesForDeleteResponse resp = (RetrieveDependenciesForDeleteResponse)OrgService.Execute(req);
This retrieves an optionvalueset, but there is little I can do with it as I cannot remove it from the solution as the solution is managed.
The only difference I can see is the way the OrganizationServiceProxy gets instantiated. The plugin registration tool includes a way to refresh the securitytoken, but as far as I can tell it's not doing much (I've stepped through the code, but it's possible I missed something)
Are you sure that it is an OptionSetValue that is the dependency? It's much easier to use GUI to determine what the dependencies are. Fire up your solution in CRM 2011, click 'plug-in assemblies', select the relevant assembly then go through each custom workflow/plugin item and click 'Show Dependences'.
In my case I had another workflow (created within CRM) that was referencing a custom workflow preventing removal of the assembly.
You won't be able to remove components from a Managed solution... Are you the author of the solution originally?
As an aside, does your workflow fire on change of the OptionSet that is showing as a dependency?