2010-01-29

Failed to open EXE files in Vista

Symptoms:
• The EXE file opens in Notepad.
• EXE file opens in some other installed programs.
• Windows displays "Open With" dialog box to choose the program.
• Windows shows error message, "Windows cannot find .exe file. Make sure you typed the name correctly".

Solution:
1. Open a DOS prompt window:
Press CTRL+ALT+DEL keys and open "Task Manager". Hold down the "CTRL" key and click on "New Task" button and it'll open a Command Prompt window.
If your login account doesn’t have admin right, then you need to do this by opening a new DOS window with “runas” command from the DOS window:
runas /user:DomainXXXXX\AdminAccountYYYYY cmd
it will open another DOS window with your admin account.
From the new DOS window, use “regedit” to open the registry editor.
2. Go to “HKEY_CLASSES_ROOT\.exe”. In the right-side pane, change the value of “Default” key to "exefile"
3. Go to “HKEY_CLASSES_ROOT\exefile\shell\open\command”. In the right-side pane, change the value of “Default” key to: "%1" %*
4. Exit Registry Editor and reboot.

2010-01-25

Acess denied error with psexec

You got Access Denied error message with below two scenarios.
Scenario one:
You ran the below command logged in with your Domain\UserName onto localmachineA
psexec \\remoteserverA -i c:\windows\system32\cmd /k dir \\remoteserverB\share

Scenario two:
Firstly you ran the below commdn to open a "cmd" command prompt from remote machine:
psexec \\remoteserverA CMD
After that, you ran "net view \\remoteserverB" and you got access denied.

The reason behind this is that by logging in implicitly you will loose the network resources on \\target that you would have if you had logged on explicitly.


What is "implicit login" and what is "explicit login"?

There is an important difference between using implicit versus explicit logon:

"psexec \\target some_command" uses implicit logon to \\target.
I.e. the user logged in locally will be used to logon to \\target. But logging in implicitly he will loose the network resources on \\target that he would have if he had logged on explicitly.
As -e was not specified his environment will be that of the ".default" user on \\target. Check e.g. the variable %userprofile%.

"psexec \\target -u user - p passw some_command" uses explicit logon to \\target.
psexec is told to explicitly identify as user "user" on \\target (even if he is the same user "user" logged in locally). So network resources assigned to user "user" on \\target may be available.
As -e was not specified his environment will be that of the ".default" user on \\target. Check e.g. the variable %userprofile%.

psexec \\target -u user -p passw -e some_command uses explicit logon to \\target and loads the environment of user "user".
Same as above plus:
As -e was specified the environment on \\target will be that of user "user", not the one of user ".default".

NOTE:
Starting with psexec v1.80 the default behaviour changed! The default now is to load the correct user environment. Specifying -e will keep psexec from loading the user's environment and use the .default environment instead.


To find out more details:
http://forum.sysinternals.com/forum_posts.asp?TID=5072&PN=1

Useful psexec command

Useful psexec command

PsExec is part of a growing kit of Sysinternals command-line tools that aid in the adminstration of local and remote systems named PsTools.

Utilities like Telnet and remote control programs like Symantec's PC Anywhere let you execute programs on remote systems, but they can be a pain to set up and require that you install client software on the remote systems that you wish to access. PsExec is a light-weight telnet-replacement that lets you execute processes on other systems, complete with full interactivity for console applications, without having to manually install client software. PsExec's most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems.

1.Download psexec:
http://technet.microsoft.com/en-au/sysinternals/bb897553.aspx

2.Usage:
Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n,... ] cmd [arguments]


FAQ: Common PSTools Issues
http://forum.sysinternals.com/forum_posts.asp?TID=15920


3. Examples:
The following command launches an interactive command prompt on \\marklap:
psexec \\marklap cmd

This command executes IpConfig on the remote system with the /all switch, and displays the resulting output locally:
psexec \\marklap ipconfig /all

2010-01-23

iPhone jailbreak steps

1.Preparation:
1.1.backup iphone:
http://support.apple.com/kb/HT1766

Right-click (or Control-click) the iPhone or iPod touch in iTunes under Devices and choose Back Up.

1.2.download iphone 3.1.2 firmware
http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw

1.3. download blackra1n
http://www.blackra1n.com/

2.start the break:
from your computer, double click the saved blackra1n
then clicke on "make it rain"
it will show “entering recovery mode...”
then you will see " your jailbreak is done once the device reboots. ....", click "ok" and reboot iphone.

I got below problem at this step:
frome itune you see below error message:
itune has detected an iphone in recovery mode, you must restore this iphone before it can be used with itunes

click on restore from itune, after a while iphone reboots.
(turn off blackrain window before doing so)
I got a white blank screen on iphone and itune says " preparing iphone for restore...."
then itune said: the iphone "iphone" could not be restored. an unkonw error occurred (13)
I figured out this was because a network issue in my home network, after fixed the network and tried it again, the restore worked fine.
BTW, the restore did ask for firmware package location and it extracted it by itself.

then itune shows " restoreing iphone firmware......."
After a while and a auto reboot, everything is ok.
Now I can get into iphone as usual, but I found everything is factory setting and all data lost.
I need to resotre from my data backup.Went to itune, click restore backup and choose the right

backup name, few minutes later everything done.

3. install cydia
Once blackra1n is installed properly that means jailbreak done.
click "balckra1n" from iphone, and then choose to install cydia. make sure you have network connected with your computer.

Note, my iphone was unlocked by the vendor before jailbreak.

references:
http://zone.it.sohu.com/forums/thread-3626476-1-1.html
http://zone.it.sohu.com/forums/thread-3626476-1-1.html
(both are very detailed and very good, but in Chinese only)

http://hi.baidu.com/%BA%D3%EB%E0%D3%E3/blog/item/88b4ba03d957f17c3812bb6f.html

English ones:
http://www.iphonedownloadblog.com/2009/10/11/jailbreak-iphone-blackra1n-tutorial/
http://macx.cn/a/a605i1180449.htm



Install tomtom map instruction:

Step 1 : Have an iPhone. Make sure you have OS 3.0
Step 2: Jailbreak iPhone - Follow exact instructions here:
http://www.iphonedownloadblog.com/2009/10/11/jailbreak-iphone-blackra1n-tutorial/
Step 3: Enter Cydia on the iPhone, go to manage, go to sources, click edit (top right), click add (top left) and type : http://cydia.hackulo.us/ (see screenshot) . Ignore Cydia’s silly warnings
Step 4: click search (bottom right), type in ‘installous’. The only result you should get is ‘Installous’(see screenshot). Click this and press ‘install’ (top right)
Step 5: click search again, type in ‘appsync’. The only result you should get is ‘AppSync’(see screenshot). Click this and press install
Step 6: Exit Cydia, and click the new installous icon. Click settings (bottom right). Change ‘Install Method’ to dirty. Toggle ‘iTunes Sync’ to On
Step 7: Download the tomtom app here:
http://thepiratebay.org/torrent/5061144/TomTom_Australia_for_iPhone
Step 8: Drag the app you just downloaded into iTunes
Step 9: Plug your iphone into your computer, it should now sync the app. this can take up to 40 minutes
Step 10: Unplug iPhone and run the tomtom app!

How to Use Skype over 3G on iPhone

http://blog.tmcnet.com/blog/tom-keating/skype/how-to-use-skype-over-3g-on-iphone.asp

Skype over 3G is disable by most of the carriers hence Skype by default requires WiFi in order to make calls.
this article shows you how to fix that so you can have some nice Skype over 3G action!

How to Use Skype Over 3G on your iPhone
Requirements: Jailbreaking, VoIPover3G, OpenSSH or DiskAid, and Mobile Substrate

Note: You do not need to install Intelliscreen to ensure your modified VoIPover3G.plist file works. The latest MobileSubstrate makes sure that VoIPover3G is enabled and working properly. Previously, you needed to install Intelliscreen as a workaround, but no more.

1. Jailbreak
2. Open Cydia. Search for and install VoIPover3G. This enables you to truck apps that "require" WiFi to also work over your 3G data connection
3. While in Cydia install OpenSSH which will allow you to transfer files from/to the iPhone.
4. Install the latest Mobile Substrate.
5. After all these apps are installed, you should reboot your iPhone.
6. Next, connect your iPhone to your home WiFi network and get the IP address the iPhone was assigned. Click on Settings>WiFi>circuluar blue arrow
7. Pick either DiskAir (option a) or OpenSSH (option b) to modify the iPhone file. (on your pc)
a) DiskAid instructions: (a tool for PCs and Macs which enables to use your iPhone or iPod Touch as external Disk.)
1) Download & install DiskAid
2) Connect iPhone to PC or Mac using USB cable.
3) Drag the /Library/MobileSubstrate/DynamicLibraries/VoIPover3G.plist file to your PC or Mac
4) goto Step 8)
b) OpenSSH (more advanced, but techies love SSH/SCP.
1) Download a SSH/SCP program. For PC users I recommend WinSCP.
2) In WinSCP, make sure to select "SFTP" and enter in this info:
- Server: your iPhone's IP address
- Username: root
- Password: alpine
- Port: 22
3) Click on "Connect", which might take a few seconds to connect to your iPhone.
4) Navigate to: /Library/MobileSubstrate/DynamicLibraries
5) Continue to next step (8.)
8. From your PC, double-click VoIPover3G.plist which will open the file.
9. You will likely see the following text within "VoIPover3G.plist"or something very similar:

Filter = {Bundles = ("com.Fringland.Fring", "com.apple.AppStore", "com.audiofile.Interstate", "com.apple.MobileStore");};

Append "com.skype.skype" to the text (with a comma) which will then look like this:

Filter = {Bundles = ("com.Fringland.Fring", "com.apple.AppStore", "com.audiofile.Interstate", "com.apple.MobileStore", "com.skype.skype");};

10. Now save the modified file. If using WinSCP, it will automatically upload back to your iPhone. If using DiskAid, just drag-and-drop the file back onto the iPhone overwriting the old one.
11. Uninstall the Skype app & reboot your iPhone.
12. Reinstall the Skype app from the Apple App Store

And now you will be able to make Skype over 3G calls. Enjoy!
From your iphone, make a call test to ensure skype over 3g is working. Previously you will get a message saying call over 3g is not available and you need to use wifi to make call. Now the message disappeared!


I should point out that MobileSubstrate along with VoIPover3G.plist enables you to install appstore apps larger than 10mb over the 3g and you can use other Voice over IP apps such as Fring over 3G. It even allows ustream to work over 3G - another app restricted to WiFi only. Good stuff!

2010-01-18

Find and/or Delete Duplicate Rows from SQL server

How do I identify duplicate rows?
Group the rows by CustName, Pincode. Rows having similar CustName and Pincode will have more than one rows in the grouping. So locate them using HAVING COUNT(*) > 1. If duplicate values are encountered, return the maximum ID for each duplicate row. Using the outer query, delete any ID returned by subquery.

1.SQL Server 2005 Solution:
-- Find Duplicate Rows
SELECT MAX(ID) as ID, CustName, Pincode FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1

-- Delete Duplicate Rows
DELETE FROM #Customers
WHERE ID IN
( SELECT MAX(ID) FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1)

2.-- Find Duplicate Rows
SELECT MAX(ID) as ID, CustName, Pincode FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1

-- Delete Duplicate Rows
DELETE FROM #Customers
WHERE ID IN
( SELECT MAX(ID) FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1)


Check out the full article:
http://code.msdn.microsoft.com/SQLExamples/Wiki/View.aspx?title=DuplicateRows

2010-01-13

Microsoft Outlook Autocomplete cache file

Microsoft Outlook Autocomplete cache file

Outlook 2003 and Outlook 2007 has a feature called Email Address Auto Complete. As you type in an email address into the "TO:" or "CC:" or "BCC:" field outlook will display a list of matching email addresses from the outlook auto-complete cache.

When you move from one PC to another this will be lost as the Auto complete list is saved locally in your Computer.

Location of AutoComplete file.
The AutoComplete file of Outlook is always saved as the profile name of Outlook with .NK2 extension. Depends on which windows version you are using, it can be located from different folder.

XP/w2k
drive:\Documents and Settings\user name\Application Data\Microsoft\Outlook.
(%APPDATA%\Microsoft\Outlook)

Vista/Windows7
drive:\Users\username\AppData\Roaming\Microsoft\Outlook
(%USERPROFILE%\AppData\Roaming\Microsoft\Signatures)

Note: you must have "show hidden files" enabled from windows explorer as the NK2 file is hidden.

How to backup and restore the autocomplet file.
When you migrate to a new machine, or reinstall the system, you need to backup the nk2 file so as to get your existing autocomplete list back.
Just simplely backup nk2 file and then copy it to the same location on the new system.

How to re-use the autocomplete file in another outlook profile:
If you are creating a new profile in outlook and want to use a previous autocomplete file for that profile, you can do it by renaming the .nk2 file to the new profile name.

How to delete an autocomplete entry.
Perhaps you just sent an email and you found out you made a typo….. Unfortunately that typo will remain in you cache until you delete it.
To delete the typo one:
Type the email address you wish to clear from the cache until outlook displays it, then press the down arrow key to select the email address and press the delete button.

2010-01-08

The locale IDs for CJK language IMEs

http://www.msfn.org/board/list-input-locale-codec-t36760.html

The locale IDs for CJK language IMEs are quite complicated and the M$ list is far from complete.
The IMEs (Input Method Editors) are methods using a sequence of keys on the keyboard to type to input a character. They do not necessarily represent different written languages. Thus Phonetic and ChangJie are two different IMEs to input the same Chinese Traditional text.

To classify ChT/ChS under Taiwan, HK, PRC etc is also far from satisfactory. Broadly speaking, PRC uses ChS (0804). HK commonly follows what is available under Taiwan (ChT, 0404) rather than what is available under HK.

This is what I have discovered: it tells you what code stands for which IME.
ChT = Chinese (Traditional)
ChS = Chinese (Simplified)


0411:00000411 Japanese
0411:E0010411 Japanese Input System MS-IME 2002
0412:E0010412 Korean IME 2000
0412:00000412 Korean
0404:00000404 ChT US Keyboard
0804:00000804 ChS US Keyboard
0404:E0010404 ChT Phonetic
0804:E0010804 ChS QuanPin
0404:E0020404 ChT ChangJie
0804:E0020804 ChS ShuangPin
0404:E0030404 ChT Quick
0804:E0030804 ChS ZhengMa
0404:E0040404 ChT Big5
0404:E0050404 ChT Array
0804:E0050804 ChS NeiMa
0404:E0060404 ChT DaYi
0404:E0070404 ChT Unicode
0404:e0080404 ChT Microsoft New Phonetic
0404:e0090404 ChT Microsoft New ChangJie
0804:E00E0804 ChS Microsoft PinYin
0404:E01F0404 ChT Alphanumeric

2010-01-07

Windows locale identifier constants and strings

List of Windows locale identifier constants and strings

A table of supported locales, what version of Windows each locale was introduced in, the hexadecimal locale identifier value (such as 0x0409 for US English), the locale name and abbreviation (such as en-US for US English).


http://msdn2.microsoft.com/en-us/library/ms776260.aspx

FAQs of Locales and Languages

FAQs of Locales and Languages

http://msdn.microsoft.com/en-us/goglobal/bb688174.aspx

1. What is a locale?
In the Windows operating systems, a locale is a set of user preference information related to the user's language, environment and/or cultural conventions. This information is represented as a list of values used to determine the correct input language, keyboard layout, sorting order, and the formats used for numbers, dates, currencies and time. In order for a particular locale to be available for selection, the appropriate language group must be installed.

Windows 2000 and Windows XP includes support for 126 and 136 different locales, respectively, ensuring that users around the world can configure their systems to use the correct formats for their own language and region.

Locale support in Windows is provided through a number of different locale settings: the user locale, input locales, and the system locale. Taken together, these settings offer users a great deal of flexibility when setting up a machine.

2. What is a language group?
A language group is a set of all the keyboard layouts, IMEs, fonts (TrueType or bitmap), font links, language packs (LPKs) and codepage translation tables needed by the system to support the given group of languages. The list of installed language groups thus controls which user, input, and system locales that can be selected by a user.

Installation of a language group on Windows 2000 copies (but does not activate) the necessary keyboard files, Input Method Editors (IMEs), TrueType font files, bitmap font files, and National Language Support (.nls) files to the system. Adding a language group also adds registry values for Font Linking and installs scripting engines for Complex Script languages (Arabic, Hebrew, Indic, and Thai).

3 How many language groups are there?
There are 17 language groups including the Western Europe and United States language group, which always installs as the default for Windows 2000 and cannot be removed. The 17 groups are:

Arabic; Armenian; Baltic; Central Europe; Cyrillic; Georgian; Greek; Hebrew; Indic; Japanese; Korean; Simplified Chinese; Thai; Traditional Chinese; Turkish; Vietnamese; and Western Europe and United States.

Any number and combination of language groups can be installed on any Windows 2000 version.

4. How can I add language groups in Windows 2000?
On the Start menu, click Settings, and then click Control Panel.
In the Language settings for the system list box, check the language groups you want, and then click OK.
Additional files will be copied to your machine. You may need to provide the Windows 2000 CD or the network share name.
After reboot, support for new languages will become available.

5. What is a language collection?
In Windows XP, Microsoft has consolidated the 17 language groups to 3 collections that contain 3 or more language groups. This is done to simplify installation, and improve user experience when working with multiple languages.

For more information about Language Collections, see New Locale and Language Features in Windows XP.
http://msdn.microsoft.com/en-us/goglobal/bb964663.aspx


6. How can I add a language collection in Windows XP?
On the Start menu, click Control Panel.
Click Regional and Language Options, and then click the Languages tab.
Under Supplemental language support, check the language collection(s) you want, and then click OK.
Additional files will be copied to your machine. You may need to provide the Windows XP CD or the network share name.
After reboot, support for new languages will become available.

7. Which language groups support which locales?
See Locale IDs, Input Locales, and Language Collections for Windows XP and Windows Server 2003.
http://msdn.microsoft.com/en-us/goglobal/bb895996.aspx

8. What is the User Locale?
The user locale, implemented in Windows 9x, Windows NT 4.x, Windows 2000, and Windows XP, is a per-user setting that determines the formats used by default to display dates, times, currency, and numbers, and the sorting order of text. A user locale is specified for each and every account created on a computer.

Although available user locales are often listed as a language (sometimes in combination with a country), a user locale is NOT a language setting, and has nothing to do with input languages, keyboard layouts, codepages or user interface languages. The Hebrew user locale, for example, only contains data related to the standard regional settings of Israel, not to the Hebrew language.

Note, however, that changing the user locale will change the language used to display the names of days and months. If the long date format is used to display "November 25, 1998," the language used in the "November" string is dependent on the selected user locale.

Changing the user locale has an immediate effect (a reboot is not required), and all running processes are notified of the change via a WININI change message.

An English user using English Windows 2000 works in Rome, Italy. The user selects Italian (Italy) as the user locale, because he wants to use the formatting standards for Italy in his day-to-day work.

9. What is the Default User Locale?
The default user locale is the user locale setting applied by default to each new account created on a machine. Note that an account's user locale can be changed after the account has been created.

10. What are Input Locales?
Input locales, implemented in Windows 95/98, Windows NT 4.x, Windows 2000, and Windows XP, are pairings of an input language with an input method (which might be a particular keyboard layout, an Input Method Editor, or speech-to-text converter, for example). Specifically, an input locale describes the language being entered, and how it is being entered.

Input locales are added on a per-user basis. For each account it is possible to install multiple input locales and switch between them when entering text, allowing for the composition of multilanguage documents.

Adding or removing input locales has an immediate effect (a reboot is not required). Note that only those input locales for which appropriate language groups have been installed will be available to choose from.

An Arabic user using Arabic Windows 2000 wants to type an e-mail message in a mixture of Arabic and Russian. The user already has an Arabic input locale, and installs a second input locale for the Russian language (with an Arabic keyboard layout). When entering text, the user is able to switch between the Arabic input locale and the Russian input locale.

Click here for information about adding an input locale.

11. What is the System Locale?
The system locale (sometimes referred to as the system default locale), determines which ANSI, OEM and MAC codepages and associated bitmap font files are used as defaults for the system. These codepages and fonts enable non-Unicode applications to run as they would on a system localized to the language of the system locale.

These codepages and fonts are used by non-Unicode applications to emulate operation on a system localized to the language selected as the system locale. Note that only non-Unicode applications are affected by this setting.

The system locale is implemented in Windows 95/98, Windows NT 4.x, Windows 2000, and Windows XP. (Under Windows 95/98, the system locale is fixed based on the language version and cannot be changed. Under Windows NT 4.x, the system locale is pre-selected by the language version, but can later be modified in the Regional Settings Control Panel.)

Windows 2000 supports system locales for any supported locale on all language versions. As the name "system locale" implies, this is a system-wide setting that affects all users, and therefore requires administrator privileges to change.

Changing the system locale requires a reboot. Note that only those system locales for which appropriate language groups have been installed will be available to choose from.

Examples of system locale usage:

A German user wants to run a non-Unicode Japanese application that was designed for Japanese Windows 95. The user has to select Japanese as the system locale to do this. Note: Non-Unicode German applications will not run flawlessly anymore. German umlauts will not be displayed correctly.

The same German user wants to type Japanese text in a non-Unicode German application. The user selects Japanese as the system locale. Note: Non-Unicode German applications will not run flawlessly anymore. German umlauts will not be displayed correctly.

An Arabic user wants to type Arabic, French, and English in a non-Unicode Arabic application. The user should choose one of the Arabic system locales.

12. Which of the Windows 2000 locales do not have codepages?
These seven locales do not have codepages, and are supported in Windows 2000 solely through Unicode:

Armenian (Armenia)

Georgian (Georgia)

Hindi (India)

Tamil (India)

Marathi (India)

Sanskrit (India)

Konkani (India)

13. Which of the Windows XP locales do not have codepage support?
In addition to the seven locales from the previous question, the following six additional locales are solely supported in Windows XP through Unicode:

Divehi (Maldives)

Gujarati (India)

Kannada (India)

Punjabi (Gurmukhi - India)

Syriac (Syria)

Telugu (India)

2010-01-05

New Virtual LABS for SCCM 2007

http://technet.microsoft.com/en-us/virtuallabs/bb539977.aspx

2010-01-03

Some free online anti virus tools

Better do the scan under safe mode.

http://housecall.antivirus.com

http://www.pcpitstop.com/antivirus/default.asp

http://www.pandasoftware.com/activescan/com/activescan_principal.htm

Also try these free programs to rid your system of spyware, trojans, and other malware:

http://www.superantispyware.com/
SuperAntiSpyware

http://www.download.com/Malwarebytes-Anti-Malware/3000-8022_4-0804572.html?tag=nl.e415
Malwarebytes' Anti-Malware 1.30