Index: src/ch/ch.cpp
===================================================================
diff -u -r1931a815738da9a9cdbc959f4338b2b4aaaac842 -rcbe8851b4ff9b0f235e2c700174370b8884cb844
--- src/ch/ch.cpp	(.../ch.cpp)	(revision 1931a815738da9a9cdbc959f4338b2b4aaaac842)
+++ src/ch/ch.cpp	(.../ch.cpp)	(revision cbe8851b4ff9b0f235e2c700174370b8884cb844)
@@ -41,8 +41,6 @@
 // CCopyHandlerApp
 
 BEGIN_MESSAGE_MAP(CCopyHandlerApp, CWinApp)
-	//{{AFX_MSG_MAP(CCopyHandlerApp)
-	//}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
 int iCount=98;
@@ -460,8 +458,12 @@
 #endif
 
 	HRESULT hResult = m_tShellExtClient.UnRegisterShellExtDll(strPath);
-	if(FAILED(hResult))
+	if(hResult == TYPE_E_REGISTRYACCESS)
 	{
+		MsgBox(IDS_CHEXT_ALREADY_UNREGISTERED, MB_ICONINFORMATION | MB_OK);
+	}
+	else if(FAILED(hResult))
+	{
 		TCHAR szStr[256];
 		FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, hResult, 0, szStr, 256, NULL);
 		while (szStr[_tcslen(szStr)-1] == _T('\n') || szStr[_tcslen(szStr)-1] == _T('\r') || szStr[_tcslen(szStr)-1] == _T('.'))
@@ -477,20 +479,6 @@
 		MsgBox(IDS_UNREGISTEROK_STRING, MB_ICONINFORMATION | MB_OK);
 }
 
-/*
-bool CCopyHandlerApp::IsShellExtEnabled() const
-{
-	if(m_piShellExtControl)
-	{
-		LONG lFlags = 0;
-		HRESULT hResult = m_piShellExtControl->GetFlags(&lFlags);
-		if(SUCCEEDED(hResult) && (lFlags & eShellExt_Enabled))
-			return true;
-	}
-	return false;
-}
-*/
-
 void CCopyHandlerApp::OnConfigNotify(const chcore::TStringSet& setPropNames)
 {
 	// is this language
Index: src/ch/ch.rc
===================================================================
diff -u -rbebda797ec6983535a8940f8f9f15453fe6b1785 -rcbe8851b4ff9b0f235e2c700174370b8884cb844
--- src/ch/ch.rc	(.../ch.rc)	(revision bebda797ec6983535a8940f8f9f15453fe6b1785)
+++ src/ch/ch.rc	(.../ch.rc)	(revision cbe8851b4ff9b0f235e2c700174370b8884cb844)
@@ -641,6 +641,7 @@
     IDS_UNREGISTEROK_STRING "Integration with system disabled successfully."
     IDS_UNREGISTERERR_STRING 
                             "Encountered an error while trying to disable integration with system.\nError #%errno (%errdesc)."
+	IDS_CHEXT_ALREADY_UNREGISTERED "Integration with system already disabled."
     IDS_CRASH_STRING        "Copy Handler encountered an internal problem and will be closed.\n\nIf you want to help correct this problem in the future releases of program you can send the crash information to the author of this program."
     IDS_COMMAND_LINE_FAILED_STRING 
                             "Cannot process command line arguments passed to Copy Handler."
Index: src/ch/resource.h
===================================================================
diff -u -rd88274a4bbfd4ef005d44c4d179b7596cb627486 -rcbe8851b4ff9b0f235e2c700174370b8884cb844
--- src/ch/resource.h	(.../resource.h)	(revision d88274a4bbfd4ef005d44c4d179b7596cb627486)
+++ src/ch/resource.h	(.../resource.h)	(revision cbe8851b4ff9b0f235e2c700174370b8884cb844)
@@ -25,7 +25,6 @@
 #define IDD_NEW_FOLDER_DIALOG           151
 #define IDD_NEW_QUICK_ACCESS_DIALOG     152
 #define IDI_QUESTION_ICON               163
-#define IDD_FEEDBACK_DSTFILE_DIALOG     167
 #define IDD_FEEDBACK_FILE_ERROR_DIALOG  167
 #define IDD_FEEDBACK_NOTENOUGHSPACE_DIALOG 173
 #define IDI_INFO_ICON                   175
@@ -327,6 +326,7 @@
 #define IDS_UNREGISTERERR_STRING        6004
 #define IDS_CRASH_STRING                6006
 #define IDS_COMMAND_LINE_FAILED_STRING  6007
+#define IDS_CHEXT_ALREADY_UNREGISTERED	6008
 #define IDS_PROGRAM_STRING              8000
 #define IDS_CLIPBOARDMONITORING_STRING  8001
 #define IDS_CLIPBOARDINTERVAL_STRING    8002