diff --git a/configure b/configure
index 563117e..7dd8070 100755
--- a/configure
+++ b/configure
@@ -15235,6 +15235,7 @@
 wine_fn_config_program presentationfontcache enable_presentationfontcache install
 wine_fn_config_program progman enable_progman install,po
 wine_fn_config_program reg enable_reg install,po
+wine_fn_config_program regasm enable_regasm install
 wine_fn_config_program regedit enable_regedit install,installbin,manpage,po
 wine_fn_config_test programs/regedit/tests regedit.exe_test
 wine_fn_config_program regsvcs enable_regsvcs install
diff --git a/configure.ac b/configure.ac
index ed7a60c..0c97bfd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2928,6 +2928,7 @@
 WINE_CONFIG_PROGRAM(presentationfontcache,,[install])
 WINE_CONFIG_PROGRAM(progman,,[install,po])
 WINE_CONFIG_PROGRAM(reg,,[install,po])
+WINE_CONFIG_PROGRAM(regasm,,[install])
 WINE_CONFIG_PROGRAM(regedit,,[install,installbin,manpage,po])
 WINE_CONFIG_TEST(programs/regedit/tests)
 WINE_CONFIG_PROGRAM(regsvcs,,[install])
diff --git a/programs/regasm/Makefile.in b/programs/regasm/Makefile.in
new file mode 100644
index 0000000..9466c73
--- /dev/null
+++ b/programs/regasm/Makefile.in
@@ -0,0 +1,8 @@
+EXTRADEFS = -DWINE_NO_UNICODE_MACROS
+MODULE    = regasm.exe
+APPMODE   = -mconsole -municode
+
+C_SRCS = \
+	main.c
+
+@MAKE_PROG_RULES@
diff --git a/programs/regasm/main.c b/programs/regasm/main.c
new file mode 100644
index 0000000..a3243c3
--- /dev/null
+++ b/programs/regasm/main.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2011 Hans Leidekker for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(regasm);
+
+int wmain(int argc, WCHAR *argv[])
+{
+    int i;
+
+    WINE_FIXME("stub:");
+    for (i = 0; i < argc; i++)
+        WINE_FIXME(" %s", wine_dbgstr_w(argv[i]));
+    WINE_FIXME("\n");
+
+    return 0;
+}
diff --git a/tools/wine.inf.in b/tools/wine.inf.in
index cd5e0e8..3d91981 100644
--- a/tools/wine.inf.in
+++ b/tools/wine.inf.in
@@ -2577,6 +2577,7 @@
 10,Microsoft.NET\Framework\v1.1.4322,regsvcs.exe
 10,Microsoft.NET\Framework\v2.0.50727,ngen.exe
 10,Microsoft.NET\Framework\v2.0.50727,fusion.dll
+10,Microsoft.NET\Framework\v2.0.50727,regasm.exe
 10,Microsoft.NET\Framework\v3.0\windows communication foundation,servicemodelreg.exe
 10,Microsoft.NET\Framework\v3.0\wpf,presentationfontcache.exe
 10,Microsoft.NET\Framework\v4.0.30319,ngen.exe
