--- sfx2/prj/d.lst	2006-05-02 18:07:33.000000000 +0200
+++ sfx2/prj/d.lst	2006-06-02 19:13:18.000000000 +0200
@@ -26,6 +26,7 @@ mkdir: %_DEST%\inc%_EXT%\sfx2
 ..\%__SRC%\misc\sfx2.csv %_DEST%\inc%_EXT%\sfx2.csv
 ..\%__SRC%\inc\macropg.hxx %_DEST%\inc%_EXT%\macropg.hxx
 ..\inc\sfx2\dllapi.h %_DEST%\inc%_EXT%\sfx2\dllapi.h
+..\%__SRC%\bin\abouts.zip %_DEST%\bin%_EXT%\abouts.zip
 
 hedabu: ..\inc\app.hxx %_DEST%\inc%_EXT%\sfx2\app.hxx
 hedabu: ..\inc\basedlgs.hxx %_DEST%\inc%_EXT%\sfx2\basedlgs.hxx
--- sfx2/source/dialog/about.cxx	2006-03-29 10:43:02.000000000 +0200
+++ sfx2/source/dialog/about.cxx	2006-06-02 18:59:43.000000000 +0200
@@ -94,6 +94,21 @@ static void layoutText( FixedInfo &rText
 	nY += aTxtSiz.Height();
 }
 
+bool impl_loadBitmap( const rtl::OUString &rBmpFileName, Image &rLogo )
+{
+    INetURLObject aObj( SvtPathOptions().GetModulePath(), INET_PROT_FILE );
+    aObj.insertName( rBmpFileName );
+    SvFileStream aStrm( aObj.PathToFileName(), STREAM_STD_READ );
+    if ( !aStrm.GetError() )
+    {
+        Bitmap aBmp;
+        aStrm >> aBmp;
+        rLogo = Image( aBmp );
+        return true;
+    }
+    return false;
+}
+
 AboutDialog::AboutDialog( Window* pParent, const ResId& rId, const String& rVerStr ) :
 
 	SfxModalDialog	( pParent, 	rId ),
@@ -130,18 +145,20 @@ AboutDialog::AboutDialog( Window* pParen
         // <--
     }
 
-	// load image from module path
-	String aBmpFileName( DEFINE_CONST_UNICODE("about.bmp") );
-	INetURLObject aObj( SvtPathOptions().GetModulePath(), INET_PROT_FILE );
-	aObj.insertName( aBmpFileName );
-	SvFileStream aStrm( aObj.PathToFileName(), STREAM_STD_READ );
-	if ( !aStrm.GetError() )
-	{
-		Bitmap aBmp;
-		aStrm >> aBmp;
-		aAppLogo = Image( aBmp );
-	}
-    else
+    // load image from module path
+    rtl::OUString aAbouts( RTL_CONSTASCII_USTRINGPARAM( ABOUT_BITMAP_NAMES ) );
+    bool bLoaded = false;
+    sal_Int32 nIndex = 0;
+    do {
+        bLoaded = impl_loadBitmap( aAbouts.getToken( 0, ',', nIndex ), aAppLogo );
+    } while ( !bLoaded && ( nIndex >= 0 ) );
+
+    // fallback to "about.bmp"
+    if ( !bLoaded )
+        bLoaded = impl_loadBitmap( rtl::OUString::createFromAscii( "about.bmp" ), aAppLogo );
+
+    // still unsuccessful, use resources
+    if ( !bLoaded )
     {
         aAppLogo = Image( Bitmap( ResId( RID_DEFAULT_ABOUT_BMP_LOGO, rId.GetResMgr() ) ) );
     }
--- sfx2/source/dialog/makefile.mk	2006-05-02 18:37:49.000000000 +0200
+++ sfx2/source/dialog/makefile.mk	2006-06-02 19:12:34.000000000 +0200
@@ -44,6 +44,8 @@ TARGET=dialog
 
 # --- Files --------------------------------------------------------------
 
+CFLAGS += -DABOUT_BITMAP_NAMES=\"$(ABOUT_BITMAP_NAMES)\"
+
 EXCEPTIONSFILES=\
 		$(SLO)$/acccfg.obj			\
 		$(SLO)$/cfg.obj				\
@@ -109,6 +111,9 @@ CFLAGS+=-DBUILD_VER_STRING="$(subst,",\"
 .ENDIF # "$(GUI)"=="UNX"
 .ENDIF
 
+ZIP1TARGET=abouts
+ZIP1LIST=$(ABOUT_BITMAPS)
+
 # --- Targets -------------------------------------------------------
 
 .INCLUDE :  target.mk
