?
Solved

DCOM alternative for my Silverlight app (currently requires Office be installed on IIS server)

Posted on 2013-05-31
15
Medium Priority
?
722 Views
Last Modified: 2013-06-05
I have a Silverlight 5 application that utilizes some MS Office features (opening documents, spreadsheets, sending email via Outlook, etc).

The implementation requires that MS Office 2007 or higher be installed on the IIS server.  Understandably, some of my clients' IT departments are balking at installing Office on the server.

Is there any alternative?

When I search for "DCOM alternatives" I see discussions about using Web Services instead.  I don't know if that's reasonable in this situation or not.  We are already utilizing web services in my application for other things.  I'm not the developer on this project, just the project manager, so I don't know the details of the implementation.  

What I need to know is if there is some remedy / alternative that will be acceptable to IT, as well as provide the features to users (the ability to work with documents and send email from the browser app without Office being installed on the server).

We are already requiring that the application have elevated permissions, which is not an issue.
0
Comment
Question by:bjones8888
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 6
15 Comments
 
LVL 43

Expert Comment

by:Rob
ID: 39213574
Lots of info about distributing it with your app too
0
 
LVL 25

Expert Comment

by:apeter
ID: 39217516
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:bjones8888
ID: 39217534
Microsoft says that even PIA isn't recommended for a server side solution.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

The link provided by apeter indicates that PIA is simply a wrapper for the underlying executables (winword.exe, etc) - so that doesn't actually seem like a solution either.
0
 
LVL 43

Expert Comment

by:Rob
ID: 39218040
Your right about Microsoft recommending not to use it but it's more general than that. Also they're not saying it won't work, they're stating that it should never be automated in a server environment.
Honestly Microsoft are just washing their hands of supporting such an environment. They haven't designed or tested the software to work on this way and don't plan to by the sound of it.
My question to you is: Are you really worried about it?   The possible solutions you've got now all have issues, you just have to pick one that is the easiest to manage and maintain.
I still like the idea of working with your IT Department to get it installed on the server but to me that's the same as having the PIA installed
0
 
LVL 43

Accepted Solution

by:
Rob earned 2000 total points
ID: 39218064
I'm also going to suggest that you rethink the need to use office....
There are ways to send emails using SMTP on IIS, open word docs and excel spreadsheets by not using office but other third party structures such as OOXML
But I would need to know why you need to stick with office
0
 

Author Comment

by:bjones8888
ID: 39218573
There are two broad scenarios for a user of our application.

1. User is working from their office pc, in their LAN environment.  In that instance, Office is not required.  Documents are opened directly at the file share using software installed on the client pc, via the SL equivalent to ShellExecute.  No problems.

2. User is working out of the office, and the file share is not directly accessible.  In this situation, the SL app sees that the file share isn't locally available, and so it uses a web service to tag the document with metadata (flagging the document with identifying information that it "belongs" to a particular record in our application.  The file is then downloaded to the pc's sandbox, and opened.  When the user saves the document on close, an Add-In "recognizes" the metadata and calls a web service to upload the document back to the server, and then removes it from the local pc.

From what little I've seen so far on OOXML, that seems like a great solution.

We're also sending email from our app.  When Outlook is available, we use that client.  If not, we're using SMTP - so Office would not be required in that case on the server.

Researching the viability of OOXML now.  Once we decide (soon), I'll repost back here.
0
 
LVL 43

Expert Comment

by:Rob
ID: 39218757
Microsoft changed its file format to this in office 2007 and fully supported it in 2010. This means you could really only support these versions if excel and word etc
So it's modifying the meta data that you need office installed on the server? As I assume each client will have office installed. If you're just checking if the file share is available or not why do you need office?
0
 

Author Comment

by:bjones8888
ID: 39218770
It is for the purpose of writing to the doc/docx/xls/xlsx, etc - to put metadata onto the file itself.
0
 
LVL 43

Expert Comment

by:Rob
ID: 39218842
Ok sure, that's the catch then :-) and from what you've said it does make sense to keep the information about the linked record in your application.
 additional catch here is writing to the older 2003 office files but they may not be an issue?
0
 

Author Comment

by:bjones8888
ID: 39218911
Older formats would certainly be an issue.  This is a legacy app and there are very old documents.  New documents created wouldn't be 2003 formats, but they would need to put metadata tags on older documents when they want to edit them, conceivably.

I didn't realize OOXML doesn't support those formats.  Do you know if it can convert doc to docx?

Back to the drawing board....
0
 
LVL 43

Expert Comment

by:Rob
ID: 39220759
OOXML would not be able to convert it but there are other options. You could manually open each older doc in the corresponding program and save it but if you can batch process them then here's your answer
http://adminramble.com/convert-batch-doc-files-docx-work-ppt-xls-files/
0
 

Author Comment

by:bjones8888
ID: 39222083
Manually opening them is not an option.  Scores of thousands of them potentially.

Batch conversion is certainly the way to go.  Thanks for the link.  Looks like it will do the trick.  It is somewhat comforting that it is from Microsoft.  (Yes, I'm naïve.)

Hopefully I could set the source and destination folders to the same path.  Then I could delete all the .doc files and simply be left with docx.  My SQL database holds a pointer to this specific file & path, so the newly converted files would ultimately have to go back to the original location anyway. I'd have to then update the file specification in my database to be docx instead of doc.  That's easy enough.

I've also just heard from my programmer that OOXML works as expected for putting the metadata on the docx and xlsx files.  Looks like I have a viable solution.

Thank you!!
0
 

Author Closing Comment

by:bjones8888
ID: 39222092
OOXML is the answer for us.  It explicitly states in their website that it is designed to handle server environments.

Although it doesn't work with doc/xls formats, the other solution you provided for a batch conversion of those older formats will be sufficient to convert legacy data.

Now we can remove MS Office as a server requirement.

Thank you.
0
 
LVL 43

Expert Comment

by:Rob
ID: 39222115
No problem. Great to hear you've got the answer.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question