| ||
|
This community works best when people use their real names. Please
register for a free account.
Other Groups: Joel on Software Business of Software Design of Software (CLOSED) .NET Questions (CLOSED) TechInterview.org CityDesk FogBugz Fog Creek Copilot The Old Forum Your hosts: Albert D. Kallal Li-Fan Chen Stephen Jones |
I would, except that Microsoft states things like: Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when run in this environment. ( from http://support.microsoft.com/kb/257757 ) I've also had MS reps tell me that using MS Office in this way goes against the licence agreement although nobody has ever managed to point out exactly where it says this. Unfortunately, this means that for Office integration with web applications we still have to fall back to tricks like serving up HTML or CSV with MS Office mimetypes, using plugins or scripting Office on the client.
I agree. Also, you can't really let "Office do the heavy work for you" in instances where you want to process Office files without actually having Office installed.
dude Tuesday, February 19, 2008
I was going to link to the same MS article. Office automation in a web environment is just asking for problems. When I've had to produce or work with office files in that scenario I've always used 3rd party components to do the "heavy lifting". Something like Aspose components: http://www.aspose.com/Products/#File
The Original Henry Tuesday, February 19, 2008
As far as the licensing goes, the KB page says, "Using server-side Automation to provide Office functionality to unlicensed workstations is not covered by the End User License Agreement (EULA)." It looks to me as this is covered in the actual EULA (looking at office 2007 ultimate version) in "retail license terms" section 3 (ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.) http://www.microsoft.com/downloads/details.aspx?FamilyId=4285D6F7-DFDD-44A6-A21D-8E9899082B15&displaylang=en (Unfortunately you have to download a self-extracting zip with a pdf to actually read that, but if you're having trouble sleeping...)
So technically MS could claim a license violation because the server doesn't know whether a client has Office installed when it serves up a generated document... That (kind of) makes sense but isn't MS missing a trick by not selling a server side Office component suite for use doing exactly this kind of thing? It can't be an unusual requirement. I must have run across the problem in so many different situations now.
Yes, I used to Let Office Do the Heavy Work since back in Office 2000 and the basic problem is the license clearly words it in a way that makes you think every possible web visitor had to have a Office license in order to even involve a ASP page that might link to the object model in question. So I hope Joel has done the requisite license heads up with Microsoft before writing this article.
It's a great article, puts into stone what a lot of developers started noticing when Office became scriptable. I personally generated charts from Excel, snarf and barfed CSVs from Excel, import/export docs into Word using HTML and RTF and so on. I agree the object model ought to be used, because the docs are, for better or worst, the lingua franca of business communication. It's highly desirable to produce documents that will work perfectly for people who have to use their staple office tools like Word and Excel to massage and report on your data.
“Automation of Microsoft Office applications from any unattended, non-interactive client application or component” It helps to be more specific – MS does not encourage or support SERVER based automation of MSO application. However, client based automation solutions using MSO is prolific. Regards -
Marcus from London Tuesday, February 19, 2008
If you have terminal servers which may be accessed by people not covered by your ELA (say a customer, vendor or subsidiary), Microsoft wants you to buy a license for every user who the office services are provided to. I imagine that if they found out about you doing that on the web, they'd attempt to extract money from you in a similar model.
Anon for this Thursday, February 21, 2008
"So technically MS could claim a license violation because the server doesn't know whether a client has Office installed when it serves up a generated document..." If I didn't have Office installed, I wouldn't bother to click on a .dox or .xls link. | |
Powered by FogBugz
