--- setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.hxx
+++ setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.hxx
@@ -41,6 +41,14 @@
 	std::wstring GetWordDocumentDefaultIconEntry() const;
 	std::wstring GetWordDocumentDefaultShellCommand() const;
 
+	/** MOOX Word document information		
+		The icon index is the index of the icon 
+		in soffice.exe to be associated with 
+		word document files
+	*/
+	std::wstring GetMOOXWordDocumentDisplayName() const;
+	std::wstring GetMOOXWordDocumentFileExtension() const;
+
 	/** Word template information
 		The icon index is the index of the icon 
 		in soffice.exe to be associated with 
dummy line to avoid confusing diff-mode
--- setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.cxx
+++ setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.cxx
@@ -59,6 +59,18 @@
 	return std::wstring(TEXT("open"));
 }
 
+std::wstring RegistrationContextInformation::GetMOOXWordDocumentDisplayName() const
+{	
+	std::wstring str;
+	str = TEXT("Microsoft Word 2007 Document");
+	return str;
+}
+
+std::wstring RegistrationContextInformation::GetMOOXWordDocumentFileExtension() const
+{
+	return std::wstring(TEXT(".docx"));
+}
+
 std::wstring RegistrationContextInformation::GetWordTemplateDisplayName() const
 {
 	std::wstring str;
dummy line to avoid confusing diff-mode
--- setup_native/source/win32/customactions/reg4msdoc/registrar.cxx
+++ setup_native/source/win32/customactions/reg4msdoc/registrar.cxx
@@ -66,6 +66,13 @@
         m_ContextInformation.GetWordDocumentDefaultShellCommand(),
         m_ContextInformation.ShellNewCommandDisplayName());
 	
+    RegisterForMsOfficeApplication(
+        m_ContextInformation.GetMOOXWordDocumentFileExtension(),
+        m_ContextInformation.GetMOOXWordDocumentDisplayName(),
+        m_ContextInformation.GetWordDocumentDefaultIconEntry(),
+        m_ContextInformation.GetWordDocumentDefaultShellCommand(),
+        m_ContextInformation.ShellNewCommandDisplayName());
+	
     RegisterForMsOfficeApplication(
         m_ContextInformation.GetWordTemplateFileExtension(),
         m_ContextInformation.GetWordTemplateDisplayName(),
@@ -88,6 +88,14 @@
 	catch(RegistryKeyNotFoundException&)
 	{}
 
+	try
+	{
+		UnregisterForMsOfficeApplication(
+			m_ContextInformation.GetMOOXWordDocumentFileExtension());
+	}
+	catch(RegistryKeyNotFoundException&)
+	{}
+
 	try
 	{
 		UnregisterForMsOfficeApplication(
dummy line to avoid confusing diff-mode
