Installing Microsoft Reader on Linux (and why Microsoft Reader rules)
As I suddenly found myself using Linux as my primary OS last year, I had to do something about my bookworm'ey itch, and tried a few solutions to the lack of Microsoft Reader on Linux.
- I tried using a second computer as my “book computer” - 50 minutes of work, one chapter of a book is what works for me. Too much fan noise (my PCs, like me, are pretty old by now) and sheer waste of electricity.
- I tried a virtualbox XP installation - the problem with a virtual OS is, if I run it fullscreen, I can't use the linux software, and if I run it windowed, the Microsoft Reader window is too small. I can dedicate my second monitor to the XP virtual installation, but that is plain inefficient.
- I tried keeping my pocket pc with me while working, but what is the use of a large LCD when you end up reading on a 3.5 inch screen.
This weekend, I finally managed to make Microsoft Reader work on Linux with Wine. I had to waste use a couple of hours doing so, but at the end, it was worth it. So here is the fast and clean way of installing Microsoft Reader on Linux, what you need is:
- Have a Linux installation (obviously) - I'm on Kubuntu, this should work with *buntu.
- The following software installed: wine, msttcorefonts, cabextract - You can install it with the usual: sudo aptitude install wine msttcorefonts cabextract
- IE for Linux - for some reason, this is a pre-requisite of Microsoft Reader on Wine.
- Instructions on how to install IE6 for Linux can be found here: http://howtoforge.com/ubuntu_internet_explorer_p2
- You might need mfc42.cab - in which case, just follow the link on the page, and copy the cab to the folder used by ies4linux, which was /home/rv/.ies4linux/downloads
for me. - Now you need to visit the Microsoft Reader download page in IE6, and when prompted, "Open" the file from its current location. If everything goes well, you should end up with Microsoft Reader installed - now you just need to run it.
- To run the program, you can either tinker with the Wine configuration settings to export the required wine prefix or you can create a shell script containing:
- #!/usr/bin/env bash
# Script to run MS Reader
cd
export WINEPREFIX="/home/rv/.ies4linux/ie6"
wine "/home/rv/.ies4linux/ie6/drive_c/Program Files/Microsoft Reader/msreader.exe" - Save it as something like msreader.sh, modify the /rv/ part (which is my username), set the file rights to a+x via: chmod a+x msreader.sh and perhaps, create a shortcut to the file on your desktop.
- Running the msreader.sh should run MS Reader now!
- There is the small problem of actually opening .lit files in it - you have two options. You can either:
- Modify the script above so that the filename/complete path is passed to the shell script and used in the wine… line. This can also be set up with the ubuntu file associations so that you can open .lit files directly by clicking them. Or, you can
- Copy the .lit files you have in your "My Library" folder (which is what I did).
- I ended up with a library folder at: /home/rv/.ies4linux/ie6/drive_c/windows/profiles/rv/My Documents/My Library
- Start the reader, and the new .lit files should be automatically detected and populated inside your library!
I was experimenting with tellico this weekend (which deserves its own post), and realized that in the last 20 years, I have read a lot more ebooks than paper books (which makes me happy when I think of all the trees I have saved). At this point in time, I can safely say that Microsoft Reader is the best ebook software around. Of course, you can read books in other formats, plain text, html, pdf or even doc, and there are lots of other readers (like Mobipocket) to choose from, but nothing beats Microsoft Reader so far. A few reasons why…
- the Microsoft proprietary ClearType technology is simply the best option for long reading sessions on LCD/TFT screens. Once you get used to the lack of paper texture and the smell of an old book (one does miss it the first few months), you will probably find yourself reading more and more books on MS Reader.
- The Microsoft .lit format works on Pocket PCs transparently, and the PPC version of Microsoft Reader comes pre-installed with most of the Windows Mobile versions. So, like an ipod, you can keep your library synchronized, and pick up on your PPC where you left off on your laptop/desktop. I can't part with my ancient XDA II (now 5 years old), and iphone is a little bit less attractive due to Microsoft Reader - strange but true.
- You can use the "Read in Microsoft Reader" plugin for Microsoft Word to convert most of the standard text formats that Word can open - to .lit format, and have a single interface for most of your digital library.
- If you are comfortable with IRC and DCC, channels like #bookz, #ebooks etc. on Undernet is all you need to download and
readsample hundreds of thousands of legal (and otherwise) books that are already converted to the .lit format.
It took me a couple of hours of search and experimentation (mixed with answering a few emails) to get all the steps right, so I hope this post saves somebody a few minutes of their lives.


















Very useful post Sohaib. I will try it on my ubuntu installation. Since you are an avid reader of ebooks, can you guide me towards some resources for ebooks? Where do you find them at?
You can find a lot of classic books on project gutenberg ( http://www.gutenberg.org/ ) that you can convert from html to .lit with a few clicks. As I’ve written, if you know how to connect to undernet.org IRC servers (#bookz / #ebooks channels), and the basic DCC @find and ! commands, you are set for life.
Hi sohaib,
I tried out what you have mentioned in Ubuntu 8.0 but msreader is not running.. The program starts and then immediately terminates.. Please help me out.. Please send me an email on madscorpion4@gmail.com..
Thanks a lot..
Moiz..
[...] Followed steps given here [...]
hi there! took me a long time to find a guide to installing msreader but thank the lord I found yours
only problem is that msReader starts up but like Moiz it quits right away. if you found a solution to Moiz problem please send me the information. I’m using Ubuntu 8.04 and everything is up-to-date… I believe its to do with the script that I tried to make… I do not know where to place it. Everything else on the guide is self explanatory, most of it is copy/paste but when it comes to the scripting its very vague for those newer to Linux.
John, I saved the script in my home folder, though it can be anywhere. You might want to run the script from a console to see the exact error message, trying to run it via gksu (I am on kubuntu so I use kdesu) might take care of any permissions issue.
Ok, so again, your naming off things that a new user to linux would not know how to do. For instance, I don’t know what gksu is, but I have been able to run the script via console, however the console closes before I can view any of the errors.
Do you know of any command that would keep the console window open AFTER the program/script crashes?
Also,can you be more specific as to the command I need to issue with that ‘chmod’ string?
P.S., I tried running it view executing straight from
/home/john/.ies4linux/ie6/drive_c/Program Files/Microsoft Reader/msreader.exe
but it gave me an error saying it could not display end user license agreement, so it closed.
John, you should be able to see error outputs if you run it from a console - the black screen icon that is in “System” on Ubuntu I think.
Even though .exe files can be doubleclicked and run, internally, unbuntu asks wine (the software) to run them - wine acts as a layer between .exe and ubuntu. So from command line, you will need to do something like
wine /home/john/.ies4linux/ie6/drive_c/Program Files/Microsoft Reader/msreader.exe
gksu just adds root priviliedges to whatever you are running, so if you do
gksu wine /home/john/.ies4linux/ie6/drive_c/Program Files/Microsoft Reader/msreader.exe
it should take care of any permissions related issues.
The script EXPORTs a variable before running the exe, but you can do it from console too.
So if you have a correctly written script, doing a
gksu ./yourscript.sh
should have the similar effect as exporting the variable and then running the exe from console/command line.
hmm, the gksu does not fix the problem, and like I said earlier, I try to execute it via console, however each time I try to navigate to the file, it says
wine: cannot find ‘/home/john/.ies4linux/ie6/drive_c/Program’john@john-laptop:~$
I used
gksu wine /home/john/.ies4linux/ie6/drive_c/Program Files/Microsoft Reader/msreader.exe
and that IS the correct address of the files, spaces and caps included.
Question, do I have to have IE6 open when I start msReader? I tried it, but still no gold….
(I also tried
gksu wine /home/john/.ies4linux/ie6/drive_c/ProgramFiles/MicrosoftReader/msreader.exe
but came up with
wine: cannot find ‘/home/john/.ies4linux/ie6/drive_c/ProgramFiles/MicrosoftReader/msreader.exe’
I have the file exactly in that spot, so no idea what is going on here.)
P.S. thanks for the help, obviously there is a huge difference between Kubuntu and Ubuntu somewhere
The line you are using ( /home/jo…….der.exe ) needs to be enclosed in double quotes as the file name contains spaces. You can also escape the spaces by typing ‘\ ‘ instead of ‘ ‘
It is usually the best to use tab after typing 2-3 characters for each folder name in the console, and ubuntu automatically completes the rest of the path.
ok, the double quotes makes it work, but msreader wont start because its unable to display the eula for some reason. there are no errors displayed within the console.
I used the following string
gksu wine “/home/john/.ies4linux/ie6/drive_c/Program Files/Microsoft Reader/msreader.exe”
I did some more poking around, and I found the solution!
Its a simple missing library. At first, I thought I had all the libraries, but then when I read this short article, I realized that since MSReader was installed using ies4linux that it was using the dll libraries under a separate directory (instead of the usual directory under Wine.
Go to this link for the details.
https://lists.ubuntu.com/archives/ubuntu-users/2008-September/158629.html
In a nut shell, you need to install msvcirt.dll to the “/.ies4linux/ie6/drive_c/windows/system” folder (system 32 should already have it)
if you are not able to copy from system 32 you can find the file for free DL at the following link
http://www.dll-files.com/dllindex/dll-files.shtml?msvcirt
Thanks for your help and your patience
John, glad that you managed to make it work. I *think* the mfc42.cab file I mentioned should contain the vc runtime dlls - not sure though. You are another example of a non-geek switching to Linux and surviving, which is always a good thing
hmm.. I wasnt really able to find that mfc42.cab you were talking about, so I’m more than certain thats what went wrong.