What is that {CODE} used in Win registry HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\{CODE}? - window

After a msi is installed, the Windows Registry will add a key {CODE} inside HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer. I would expect that {CODE} to be the Product Code of the application being installed, but they don't match.
For example, if I install a msi package whose Product Code is {E4703DAD-63CA-4A57-B9E3-D7887318B036} I see that the key added is HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\FAD3074EAC3675A49B3E7D4837810B63
I did see that such {CODE} is constant regardless different version or package code of my application (which is why I was expecting it to be - or have some relation - to the product code).

I finally figured how that {CODE} is constructed. I see some references of it being called as a compressed GUID and it is indeed based on Product Code. That {CODE} is the Product Code "reversed".
You can easily see if you align both {CODE} and product code with the dashes
Product Code: {E4703DAF-63CA-4A57-B9E3-D7887318B036}
{CODE} with dash: FAD3074E-AC36-75A4-9B3E-7D4837810B63
The first 3 groups are basically a direct reverse (63CA -> AC36), while the last 2 groups are reversed inside a set of 2 chars basis (B9E3 -> 9B3E).

Related

SELE command with #2 && Name

Sele 2 && Conductor
I am asked to convert a Visual Fox Pro app to Asp.NET Core
I am having trouble finding out what this means.
In FoxPro, commands can optionally get four-letter abbreviated.
So that Sele is a lazy way to refer to the Select command and && Conductor is a code editor comment, similar to a hypothetical C# line like:
Select 2; // Conductor
Quoted from
Visual FoxPro 9.0 SP2 Help
SELECT Command
Activates the specified work area.
SELECT nWorkArea | cTableAlias
Parameters
nWorkArea
Specifies a work area to activate. If nWorkArea is 0, the lowest-numbered unused work area is activated.
cTableAlias
Specifies a work area containing an open table to activate. cTableAlias is the alias of the open table. You can also include a letter from A through J for cTableAlias to activate one of the first ten work areas.

hiding multiple tabs is oracle forms 10g

I have a canvas that contains multiple tabs, and I am writing a trigger that hides some of these tabs when a certain condition is met.
Here is my pl sql code that I used :
go_item('homeadmin1.complist');
set_tab_page_property('overview',visible,property_false);
go_item(:addservice);
set_tab_page_property('newservice',visible,property_false);
go_item(:btnaddcomp);
set_tab_page_property('addcompany',visible,property_false);
This code compiles well, but when I run the form I get an error about referencing my items. I tried searching for solutions but nothing worked. Note that homeadmin1 is the block name that contains the items, and "overview", "newservice", and "addcompany" are the tabs names that need to be hidden. Your help will be appreciated.
Argument of method go_item should be defined in quotation marks, as your first one (go_item('homeadmin1.complist');):
go_item('addservice');
go_item('btnaddcomp');
if there are unique items named addservice and btnaddcomp for entire form. Against probability of duplicate occurance of item, it's always good to include block names also whicever block they're at :
go_item('block1.addservice');
go_item('block_button.btnaddcomp');

How to retrieve or enumerate ISO-3166 numeric codes?

With EnumSystemLocalesEx I can enumerate supported countries and get the ISO-3166-Alpha 2 code.
With GetLocaleInfoEx I can retrieve the language name and the ISO-3166-Alpha 3 code. The list of information I can get does not contain the ISO-3166 numeric value, or I missed it and it hides behind a value I can't understand.
I found LOCALE_SISO3166CTRYNAME, LOCALE_SISO3166CTRYNAME2.
Is there a way to to retrieve the ISO-3166-Numeric value with any of the Windows API function too, when I have a given ISO Alpha 2 or Alpha 3 code?
Edit: Code should work for Windows Vista and later!

Sharepoint 2013 Column validation not working

I have a few columns in a list and one is called Supervised, the other relevant one is called Co-Supervisor.
I'm trying to force Co-Supervisor not to be blank if Supervised="Yes" but cannot get the column validation to work!
I've tried several different formulas in the Co-Supervisor column validation settings. I always get an error. Please help!
This is an example of one of the formulas I've used:
=IF([Supervised]="Yes",TRUE,FALSE)
I've also tried:
=AND([Supervised]="Yes",(NOT(ISBLANK([Co-Supervisor])))
What am I doing wrong?
Please use below formula:
GoTo List settings
GoTO validation settings
Use below mentioned formula
=IF([Supervised],IF([Co-Superviser]<>"",TRUE,FALSE),TRUE)
I have tested this on my environment and it is working fine.
(Note : Yes/No fields are internally stored as bit/boolean.So IF[Supervised] will directly evaluate to True/False.
Reference - https://sharepoint.stackexchange.com/questions/89188/calculated-column-issue-with-if-statement-and-yes-no-field
)

Pass Crystal parameter from main report to command object

I find lots of info about passing parameter into subreport, but nothing about passing it from main report into command object in main report. (This is the closest I could find.)
The command object received from the vendor (names changed to reduce length) contains
left join LOC L on L.ID = P.Loc_ID
We add parameter "Area" to the main report. {?Area} does what we expect in formulas, but it won't work in a record selection because it can't be matched to anything coming out of the command object. If I replace table LOC in the cited line as
left join **(select * from LOC where A = {?Area})** L on L.ID = P.Loc_ID
then SQL Server complains of "syntax error, permission violation, or other nonspecific error" [sic]
If I create the parameter in the command object editor (even though it already exists outside), then the whole Crystal IDE crashes!
The command object already has parameters that it magically gets from the main report. Must I remove it from the main report (proctalgia) before adding it to the command object? I can't find anything on any menus to link the two parameters together, like I can for a subreport.
Version 2008, if that matters.
If you are using an SQL command, don't create the parameters in the main report. The window where you put your SQL has a section called Parameter List. Create all your parameters relating to the query there and it will be transfered to the main report.
In your coding you have {?Area}, create a parameter with the name Area.
I found a video demonstrating it. It's an old version of Crystal Reports but still works the same.
http://www.youtube.com/watch?v=BHNHsIUbcn8
I found creating the command object and the parameter FIRST is the key. The parameter (say it is InstNo), is then created in the subreport. You can then use "Change SubReport Links" (right click on the subreport), and select that parameter as the parameter to link to. So basically do it backwards, create the command object first, then link it back to the main report. For whatever reason if you do it the other way it does not work (even if the name is the same). Just my experience.

Resources