How to change system default regional settings in windows XP? - windows-services

How can I change the system-default regional settings in windows XP for use by services (run by the system user)?
Regional and Language Options in the control panel modify the settings for the logged-in user. However, services don't use the user's settings - they use the system settings. I know that they can be found in the registry here:
HKEY_USERS\.DEFAULT\Control Panel\International
My question is: What mechanism is there for changing the system-language/date/etc from en-us to en-gb?

This was helpfull for me
"Apply regional and language settings to reserved accounts".
In short (Windows 7): Open "Region and Language" dialog, then click the "Administrative" tab, and then click "Copy settings...", select "Welcome screen and system accounts", OK.

There is no documented way to do that.
A quick look in the Regional Settings Applet dll shows that it calls a totally undocumented API: NlsUpdateSystemLocale().
Why do you want to do that? Do you want to control the locale of a service of yours? Then let your service run under a user account you control.

Could you not use regedt32 on a machine and make all the correct settings...then export the International folder by right clicking and export the reg file.
you can manually edit the exported reg file if you dont need all the settings
then you can run that reg file on a new machine to import the registry keys etc?

Not so easy.
Fast way: define a specific user to run the service, logon with that user, set the regional settings, run the service.

IM not sure if this will help
First type in gpedit.msc from the run command and a dialog box should now open.
Navigate to User Configuration > Administrative Templates > Control Panel > Regional Settings.
This shows the group polcies for the PC/s, maybe you can just set it so en_gb is the only option!!
Group Policy is not my strong point, but do a google search and go from there, I would imagine that you should be able to set up who and what can do what from here.
HTH

Related

Window Services start-stop permission to Remote Desktop users

I want to give MS SQL service start/stop permission to Remote Desktop users (not admin user). Can anyone have idea about this?
Step 1 – Create the Console
We need to open a hidden console snap-in
Click Start > Run (or press WIN + R) and type “mmc.exe”
This opens an empty Microsoft Management Console. Click File > Add/Remove Snap-in… (Ctrl + M)
Scroll down the list of available Snap-ins and select Security Configuration and Analysis
Click Add
Next select Security Templates
Click Add
Click OK
Step 2 – Create a blank Security Template
In Windows Server 2003 and below you can store these files anywhere but later versions have tougher restrictions so we will be creating everything in D:\Securtiy\
Right-click Security Templates from the console tree and select New Template Search Path …
Browse to D:\Security, or other local path, and click OK
Right-click D:\Security from the console tree and select New Template …
Give the new template a name, e.g. Custom Services. It doesn’t matter what you use.
The Description is optional but may be useful if you want to re-use it
Click OK and you will see the new template appear in the console
Step 3 – Create a Security Database
Right-click Security Configuration and Analysis from the console tree and select Open Database…
Browse to D:\Security, or other local path, and type a name in the File name: box e.gSecurity
Click OK. This creates an Security.sdb file that is used to apply the changes
An Import Template window appears. Browse to C:\Security/Custom Services.inf and selectOpen. This applies the template with all the local services to the database
If you get the error “The database you are attempting to open does not exist.” then you need to choose a different path i.e. on a local disk
Right-click Security Configuration and Analysis from the console tree and select Analyze Computer …
Click OK to accept the default log file path
You will then be presented with something that looks very similar to the Group Policy Editor or Local Security Policy Console
Step 4 Change Service Permissions
Double-Click System Services
Scroll down to find the service you need to change, MSSQLSERVER ,MSSQLAGENT
Double-Click the above mentioned services.
Tick the box Define this policy in the database:
Click the Edit Security … button
Click Add
Type in the user name of the Service account e.g. Remote Desktop User, and click OK
With the Remote Desktop User account selected, check the Allow permissions for Start, stop and pause
Click OK
Click OK on the Service Properties to bring you back to the console
You’ll notice the Service now has an ‘x’ on it and Investigate message on the Permission column. This is because the new permissions we’ve chosen conflict with what is on the local computer
Step 5 – Apply new Security Permissions
Right-click Security Configuration and Analysis from the console tree and select Configure Computer …
Click OK to accept the default log file path
This will apply the new custom permissions to the local computer
You can now test it out on the server with the Remote Desktop User account and test it works..

Jenkins in Windows shows UI in russian language

I am from Ukraine.
When I open Jenkins in the browser I see all the UI in Russian.
I am running Jenkins on Windows.
However - there is no Russian in Windows configuration "Region and Settings".
Format - English(United States).
Location - United States.
Only the Timezone is Ukrainian - UTC +02:00.
Is it possible to force Jenkins to show the UI in English language?
PS.
I did not have such a problem with Hudson before.
Locale Plugin helped to change the default locale to English.
I changed the language in the configuration of Chrome and now Jenkins is in English :)
By default, Jenkins uses the default language of your browser, if it is set. To change it, you could do the follow.
1. Download and install the locale plugin:
From the main page of Jenkins, go to Manage Jenkins -> Manage Plugins
Click on Availables
Check the "Locale plugin" and clicks on "Download now and install after restart".
Jenkins will download the plugin and restart if not job has been scheduled.
2. Set the language:
Once the plugin has been installed, change the language using following steps:
From the main page of Jenkins, go to Manage Jenkins -> Configure System.
Under Locale, there will be a field called "Default Language". Enter the new language. It could be "en" or "ENGLISH".
Under the text box, check the checkBox called "Ignore browser preference and force this language to all users".
Locale Plugin helped to change default locale to en.
A better and more simple solution is to just remove Russian from Chrome.
In other words, change Browser Language Settings.
e.g. for Chrome, Go to Chrome Settings -> Language -> Remove selected language.
You have to install the Locale plugin, which is already available but not installed as default, and then under Manage System > Locale insert "Locale.ENGLISH" in java style.
Maybe you can try this
$ sudo languagesetup
and choose 1) Use English for the main language to change it back.
Reference,
https://support.apple.com/en-us/HT202036
By default, Jenkins takes your browser language. To change it, you need to install Locale plugin and set proper language to ignore browser preferences. Go to Manage Jenkins -> Configure System, find Default Language and set what you need.
You can check the video https://youtu.be/UiikMY1uW1w
Seems like chrome has an issue on this,
It kept sending Hebrew as the first option in the
Accept-Language on the header
although English was set to be the top-language on the list (Chrome settings > Languages)
Solution
And only after I've added some other language (Russian for instance) and set it to be the 'top' and then set the English back to be the 'top' it solved!
All you need to do is change your browser's language settings and put english first.
My operating system is windows 10. I want to use English languages for Jenkins UI.
For Region & Languages, I added Turkish and English my default setting is English, however, Jenkins UI is Turkish. If I remove Turkish Jenkins UI looks fine and it turns on English.
My solution is pretty simple: use an extension in Chromium compatible browsers like this https://chrome.google.com/webstore/detail/locale-switcher/kngfjpghaokedippaapkfihdlmmlafcc, that lets you change the locale of the browser easily.
This solution works not only for Jenkins, but for many other websites, and doesn't require to restart Jenkins.
You can test the web with differents languages.

Delphi: How to create a Windows autostart application like Skype does?

I'd like to add an option to my application similar to the Skype's option "run Skype as my computer starts".
Skype doesnt't go on the "Auto start applications" of the start menu folder, I'd like to have the same effect.
Note, one answer to this question suggets to add a key here:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
but I checekd on my machine and Skype is not there, so another way is used.
Skype installs via a registry entry, but it's in HKEY_CURRENT_USER , not HKEY_LOCAL_MACHINE
This allows Skype to be installed or not on a per-user basis. Using HKLM will autostart for ALL users.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
If you type "msconfig" into the run window and look at the startup tab you can see where "everthing" starts from in the Location column.
I don't use skype but my guess would it's in the registry in
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
You just need to add a registry entry for your app in there (and delete it if the user unticks the box)
you can use the TRegistry class to help you reading and writing to the registry.
See this question. The question is about C#, but it only involves writing a registry value. It will be easy to convert it for Delphi.
Just run msconfig and select startup tab. You'll see the applications along side the registry key used.
Oddly, when I run regedit without elevation don't see the value HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\Skype also. But if I run it elevated then the value is there (I guess that Windows is playing registry redirection).
Best

where does asp and iis 6.0 get its date format

I've found a dilly of a pickle with a new web server. We have a new web server that is displaying dates differently than our old web servers.
We are running asp classic web pages on IIS 6.0 with windows server 2003.
We have logged in as an administrator and set the regional settings as appropriate and then applied the settings to current user and default user profile.
We then went into registry and update the appropriate formats under HKEY_USERS/.default/control panel/international.
Update the asp.net configuration for our websites to the correct code-page and locale.
Does anyone have other places that the application could be getting date formats from?
I know this isn't the 'proper' way to fix the issue. However, the application was written many years ago, getting something through planning/change control would be a pain, and is the only application running on the server. Thus it is okay to configure the server to cater to this single application. Besides it was driving me crazy that a new server that should be configured identically to an old server was not working.
It turns out that in addition to HKEY_USERS/*/Control Panel/international, there is a setting for non-unicode programs. It can be found under HKLM/system/currentcontrolset/control/nls/language/Default. Set that to the correct code page and it is golden.
On the other hand, if you prefer to not modify the registry directly, you can update all these values through the Regional settings from the control panel.
You can adjust the formats through the 'customize' button.
You can change the 'language for non-unicode programs' under advanced tab.
Just make sure that you check the 'apply to the default profile' at the bottom of the advanced tab.
I don't think the highest vote answer is right, though it's close.
I had to use regedit to change all the internationalization settings of HKU\S-1-5-19\Control Panel\International (NT Authority) and HKU\S-1-5-20\Control Panel\International (Network Service) to match the settings that were already in HKU\S-1-5-18\Control Panel\International (Local System).
This worked perfectly.
I modified all the settings I could see which were different, by hand.
I should think I only really needed to change the settings for S-1-5-20 (Network Service).
Go to Control Panel -> Regional And Language Options, set all options you need, then under 'Advanced' tab select settings for non-Unicode programs and check 'Apply all settings to the current account and to the default user profile.'. Press OK and restart server.
On Windows Server 2008 administrators have additional 'Administrative' tab. There press 'Copy to reserved accounts'.
Classic ASP Defaults to the Locale ID that was configured when the server was Setup. If you have access to the original server run the following code to get Locale ID it's operating under and verify that the new server is using the same.
<%=Session.LCID%>
If the Locale IDs are different and you cannot change it on the new server then you can add a line to the Session_OnStart sub in the global.asa for the application that assigns the correct Locale ID to Session.LCID.
Using an ASP page with the content:-
Response.Write GetLocale
Might be informative, it'll show you what locale VBScript thinks its using.
I've seen issues like this in the dim and distant past when using integrated security. The ASP caches the regional details from a user hive when it first needs to use them then continues to use those settings until the process dies. ASP gets these settings from the user hive associated with the user identity the code is currently running under. Most of the time that would be DEFAULT because the user doesn't have a profile on the system.
However if the user happens to have logged on interactively to the server they will have a profile and so their settings are used. Hence I've seen situations where the server appears to have intermitten problems with regional settings.
I can't recall if I've seen this on IIS6, I've definitely seen it on IIS5.
If you run your ASP application under a different account (not IUSR_Guest)
Login as that account, set date/time format to what you want and restart IIS.

How do I assign a device level hotkey to my Blackberry App?

Blackberry devices have shortcuts to open applications. For example, if you hit the 'T' button, the tasks app will open.
(BTW, you have to have "Call from Home Screen" disabled in the Phone App Settings for this to work)
How can I assign a shortcut key to open my own application?
For clarity and in case the link dies, I'll post the instructions here:
Complete the following steps:
In your Project Properties in the Integration Development Environment (IDE), click the Resources tab.
Under the Title ID option, specify the Resource variable name (App_Title) which corresponds to the actual text to be displayed (myApp) on the ribbon.
If you want the A in myApp to be a hotkey, insert the unicode underscore character (\u0332) after the A. Therefore, in your resource package, instead of specifying myApp as the value for the variable App_Title, specify the following:
myA\u0332pp
See this knowledge base article. Of course you have to avoid collisions with other applications.

Resources