Probablemente no pueda lograr lo que quiere con una base de datos de acceso como recurso incrustado, pero efectivamente obtiene el mismo resultado envolviendo todos sus archivos en otra aplicación ejecutable.
Cuando ejecuta la aplicación contenedora, extrae la aplicación "principal" C#, el archivo de base de datos y una aplicación de actualización (más sobre esto a continuación) en la carpeta de archivos temporales y ejecuta la aplicación principal.
Cuando la aplicación principal está cerrada, ejecuta la aplicación de actualización, pasando las rutas al archivo de base de datos y la aplicación contenedora original. La aplicación de actualización actualiza el archivo de la aplicación contenedora con el archivo de base de datos modificado. Finalmente, elimina la aplicación principal de la base de datos y el archivo de base de datos de la carpeta temporal. Desafortunadamente, la aplicación de actualización no puede eliminarse a sí misma, pero puede solucionarlo agregando un comando a la sección de ejecución del registro para eliminar la aplicación de actualización en el próximo reinicio.
En lugar de encontrar la manera de extraer e insertar recursos incrustados, teniendo en cuenta la aplicación como un envoltorio, ejecutable comprimido de extracción automática (como un comprimido de extracción o archivo rar). Aquí hay un codeproject article que describe cómo convertir una aplicación .Net en un exe comprimido y autoextraíble.
Supongo que quiere decir que quiere un único archivo de instalación de EXE, en lugar de que su aplicación final sea un único EXE dentro del cual está integrado el MDB. Esto último es demasiado absurdo para ser contemplado, y es completamente imposible en cualquier caso (probablemente con cualquier motor de base de datos). –