Archive of UserLand's first discussion group, started October 5, 1998.
msft,web based software distribution,can't,proof
Author: Bob Davis Posted: 5/19/1999; 8:22:14 AM Topic: msft,web based software distribution,can't,proof Msg #: 6466 Prev/Next: 6465 / 6467
This was sent to me with the understanding that I could share it with whomever might receive some benefit from it's contents. If you are using Visual Studio to develop a web distributable app, you should read it very closely - your plans may depend on Mark's success.One caveat - it's long.
I haven't posted the e-mail trail (don't want to unduly burden the Userland servers), but I have it. If you want to see more of what Dracosystems does, look at http://www.dracosystems.com.
Originally, the letter and the entire paper trail was sent to The Industry Standard. Due to their lack of response, we're assuming they don't believe this issue will be of interest to their readers.
We obviously feel very strongly that this would be of great interest to anyone looking to the web as a distribution medium and anyone using Microsoft tools for development.-bob
~~~~~~~~~~~
First I apologize for the length, my only defense is that I have provided a great deal of backing data from Microsofts own people. I bet everything on virtual reality eight years ago, and I still think it was a good bet. But I'll also bet everything that if you read through this, you will be goggle eyed with amazement, as I don't believe I can be that stupid and still think Carl is such a beacon to emerging webentities.
A few issues ago you ran an article on the future of software sales over the web. We make such software, a virtual reality core that can be used for many purposes and is installed over the web onto a windows 98 or windows NT machine. We are already shipping an app that is used by med students and Drs to practice nerve blocks. I enclose a picture. I'm not pitching the product however, as I've got pretty clear proof if web based distribution of complex apps works on windows, it only works for Microsofts apps such as the new explorer, which kinda throws a wrench in our widescale distribution plans. In specific terms, any company building larger applications using the Microsoft 6.0 visual studio tools will not be able to deploy their applications over the web because to deploy these applications they will need to distribute the upgraded system libraries provided with Visual Studio and these libraries cannot be deployed over the web. Period. I have managed to have some poor fool at Microsoft now confirm this, although I believe that this was a career limiting move (CLM) , since there's quite a multimanager history to this, as you can find in the enclosures.
To borrow an old phrase, is only a few tenths of seconds before midnight. I've been well advised at this time that Microsoft has put themselves in the position of either being guilty of fraud or of being guilty of restraint of trade, apparently they _have_ to pick one as a defense. From my point of view it's pretty simple, they have made constant ongoing claims about the brave new future of software over the web, they've invested all that time and effort into things like authentication technologies, and even my stupid Win98 mail machine is always deciding it wants to upgrade itself over the web these days. I'm not in the business of paying lawyers any more than I already have to, I'm in the business of software revolution. I've got a virtual reality medical teaching tool that cost $75G and 1.5 manmonths to make basing it on our tech, I can sell it for $99 and make a serious piece of change, and thats just the _first_ commercial app we're rolling out (Nobody wants to buy raw tech until they have no choice, hence we are our own best customers)
In my last exchange with Microsoft, I promised them a warning shot. What they think I meant is unknown. What I meant was the expenditure of less than my priciest ammunition, which I believe is possibly too interested in the career benefits of a public scrap with them. Based on a huge stack of Standards consumed since the first day I heard of you I decided my warning shot would be to provide your publication with all of the backing data, and any other information you require such that you can verify this situation. You are the only publication I am giving this to. My aim is not to piss off Microsoft so far that they take up a defensive stance, I can die of old age before anyone could chip through their armor. Rather, I'm just rolling the dice. Maybe you'll be interested, maybe you won't. Maybe the readers will be interested, maybe they won't. I know I sure as hell would if I were (hell, I am) developing any medium to large scale software with microsoft tools for deployment over the web. If you are interested and Microsoft comes around, too bad for them. At this time, I don't believe they will learn without being in Skinner's box for a while.
Following the text of this letter, you will find the three main responses I wrote as each phase of the communication process broke down and I had to escalate to the next level of the management onion. The second attachment is a zipped word document that contains the entire email trail discussing the issue. I am more than willing to answer any questions you may have, and I am speaking completely on the record. I am giving this information to no other publication at this time, nor do I wish to, and it is my devout hope that this situation does not become any more public than your magazine. I'm not stupid enough to think that in a fight with the proverbial gorilla I won't get hurt. I just also happen to think it's managed to corner itself, and I will be damned if this stops us. They can do it, it does work, and if neccessary, I will burn their feet until they scream.
Oh yes. I _really_ love the Standard. Not unequivocally, I can use my judgement. But there is always something!
Sincerely yours,
Mark Mullin Obligatory founder rubbish here Dracosystems 603-448-2603
ROUND ONE. Ooops, compiler guys aren't supposed to do internet stuff! --------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Sumit, I think you have been very helpful and have done your best to provide us with technical support. For that I thank you. Unfortunately, there are business ramifications that absolutely require escalation. If anyone should view you as the trigger of any future actions, I would state that only because of your willing and speedy support is the first response not coming wrapped in light blue paper. The rest of this letter is no reflection on your work or your efforts beyond that of implying we believe that your organization needs to provide you with a better answer.
My request to you is that you kick this up to your manager. If there is a technical issue on which you may have erred, I believe this is due to poor routing on Microsoft's part, certainly not due to any lack of effort on your part. The individuals responsible for supporting the Diamond/CAB/Internet download tools may be more appropriate at this time. And if they are not, this is now a management issue, not a technical issue. ==================================================================================
Our fundamental problem with the proposed solution is that we distribute software over the web and this software must be distributed in a reliable fashion. For this reason, we use only cabinet files to distribute live code, and these files are all signed so that we and our clients can be assured of the fact that they are unchanged and safe. Furthermore, we deliberately adopted internet explorer as the only browser we support because this mechanism could be triggered and completed without a large amount of user interaction, and specifically because it did not require any executable setup downloads such as just proposed to us. If we had wanted to do that, we do have InstallShield. That is not what we wanted, and it is not what we were lead to believe in official msft documentation was necessary.
If we had known in advance that such a step as is being recommended was necessary, we would not have selected the fundamental approach we did. We feel that if this is truly the only solution msft has to offer to this problem;
1) that Microsoft has engaged in conduct that is widely considered by experienced industry personnel to be at best imprudent, and most likely extremely reckless, specifically the reverse modification of core system libraries that lead to these serious update problems.
2) that Microsoft is not subject to the same constraints, i.e. that msft can dynamically install content over the web that is done through secure channels and does not require that the user run any independent exe files.
3) that Microsoft is engaging in false and deceiving practices with regard to this issue.
4) that this conduct is exactly what DoJ is claiming msft is guilty of and msft is claiming it is not. That there are two different sets of standards, one for msft products and one for those developed by isvs. In this particular case, Microsoft's willful disregard for accepted engineering practices in conjunction with their ability to either not be subject to this or to hide the gory details from the user community.
5) that Microsoft is guilty of widespread deliberate false advertising. I cite the following examples from a quick scan of the April developer library
a) HOWTO: Q165075 Installing active-x controls This demonstration supposedly installs mfc42.dll. We can do no such thing using exactly the same mechanism. b) Creating an INF file/Visual C++ programmers guide Installs ATL.dll. We can do no such thing using exactly the same mechanism. c) Internet First Steps: Upgrading an existing Active-X control. Installs mfc50.dll. I can't say we can't do that one, because we don't use it. Of those msft libraries that we do use, we can install NONE! d) Packaging Active-X controls/Web Workshop Installs both msvcrt.dll and msvc42.dll. We can do no such thing using exactly the same mechanism.
Therefore, I resubmit our bug. We have cited four examples of where we have been told in official Microsoft documentation that what we are attempting is possible, and we have (I believe) followed those specifications. If we have erred on our implementation, we are asking for help in fixing it. We will not however accept this proffered solution without satisfaction. If we are being informed now that msft has not been providing us with the accurate data we pay for, and that furthermore we will never be able to attain the same level of integration as does msft, then we will answer that issue through more traditional, less technical means.
Summarizing, there are two technical solutions we will accept. 1) The preferred solution is for msft to either identify what we have done wrong inside of our .inf file or to correct whatever errors in their systems are preventing us from installing the proprietary msft libraries that we need. 2) An acceptable secondary solution is for Microsoft to publish on their web servers an update mechanism that we can send prospective users to that does succeed in correctly installing these files.
We look forward to a speedy response from Microsoft to address this issue, and sincerely hope to find that is us who has made a mistake in how we have coded our .inf file. If we must use the proffered mechanism, it will be only under duress and we offer clear warning that we hold Microsoft responsible for both the costs of this last-minute change and also for any risks we confront in having to loose the closed installation process offered by the internet explorer/cab file solution.
Mark Mullin Founder Draco Cybersystems www.dracosystems.com
-----Original Message--
From: Sumit Chawla (Computer People) [mailto:a-sumitc@microsoft.com] Sent: Friday, May 07, 1999 3:21 PM To: Mark Mullin Subject: RE: Dracosystems, case SRX990506601072, dll install woes
Hello Mark, I found this the hard way - MS Library update updates the msvcrt.dll and mfc42.dll only if the current versions of these dlls are those that shipped with VS6. We modified some heap management functions with VC6 Service Pack2 and the library update replaces VS6 (no service pack) dlls with VS6 (SP2) dlls. It doesn't touch the VC5 dlls.
In your case, you need to replace the VC5 version of mscvrt.dll and mfc42.dll with the VC6 version of these dlls. In order to do this, you will need to use the MoveFileEX() API. Assuming that you have already downloaded the correct versions of the mfc42 and msvcrt dlls to the c:temp folder of the target system, you can move these files to the system32 folder (for NT) by using the MoveFileEx() API as follows:
/Begin**/ #include
#include void main() { DWORD errorCode;
if (! MoveFileEx("c:\\temp\\msvcrt.dll", "c:\\winnt\\system32\\msvcrt.dll", MOVEFILE_DELAY_UNTIL_REBOOT | MOVEFILE_REPLACE_EXISTING)) { errorCode = GetLastError(); printf("MoveFileEx failed %d\n", errorCode); return; } printf("MovefileEx successed\n"); }
/**End*/
The actual file update will take place after the system is rebooted.
Also there are two kb articles that may be helpful. Q202071 PRB: Troubleshooting MoveFileEx() MOVEFILE_DELAY_UNTIL_REBOOT Q140570 HOWTO: Move Files That Are Currently in Use
I hope this helps Mark. Please feel free to contact me directly if you have any questions.
Thanks Sumit Chawla Microsoft Developer Support (425) 704-2545 a-sumitc@microsoft.com
ROUND TWO: UM, you guys don't seem to need six reboots, a network glitch, and a crash --------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Dave: I enclose our latest v3system.cab file
1) First time on attempt to download it puts in vcp60 cab and ole, reboots 2) Second time on attempt to download it puts in vcp60cab and mfc, reboots 3) Third time w98 boots without network services, so I reboot 4) Fourth time ONCE AGAIN IT FAILS 5) Fifth time it does make it to our registry (libs are there) but then it fails 6) Sixth time and seventh is the same as #5 with one very scary issue. W98 interface will respond to mouse moves, etc, but any attempt to even open my computer by double clicking or optionclick-open doesn't work, machine effectively dead
We're also back to the download log not being written, only accessable through the tool you recommended if I leave the failed install window open. Result is exactly the same, class not registered.
Once again this is an install to a clean March99 windows 98 devdisk running IE4 -------------
Summarizing my experiences over 1 week now in attempting to install the msft dlls that are installed without problem by visual studio, i.e. if visual studio is installed on the machine, none of these issues exist
1) First I'm told it can't be done, that I have to write a .C installer in spite of over 200 entries in the msdn disk to the contrary.
2) Then I'm told that I just need to install the mfc42.cab
3) Then I'm told that I need to install oleaut.cab
4) Then I have to build a cab to install msvcp60
5) Then the issue of dependency ordering is introduced.
I would point out that from the first, we have provided inf files, library dependencies, and the address to our web site. It's not like we have been withholding any information. And where am I ? Still at the same place vis not being able to get the software up. Wasted an hour, stuffed visual studio onto the machine. Yup, everything works fine and it's not because we're using any debug libraries. But if we run the install as we have configured as per your instructions we get four reboots, a locked up system, and no joy. Yet with vstudio the problems do not exist
I do appreciate that you are trying to help, but I'm sure you can understand my level of frustration at this time. It is not my job to have my company's product, customers, and credibility damaged because Microsoft has made representations about what they can do that I have yet to see any proof of being true.
1) It seems this is an exploratory effort on your part, and as we have progressed new things keep entering the mix. I appreciate your efforts, but the fact remains that Microsoft clearly represented on numerous occasions in the product they have sold me that what I wanted to do is possible. We are now most definitely into areas where what I am being told about which components have to be installed, as well as details such as ordering and dependencies are not called out anywhere near as frequently as the party line of "how easy things are with the component download utility". This is false and misleading.
2) the fact of the matter is that if I install visual studio none of this occurs, there are no freezeups, and only one reboot is required. This is exactly why senior Microsoft management is in front of the DoJ, the rules that apply to your installs don't seem to be the rules in my world, and this damages me.
3) msft has made over 200 claims in the latest msdn that what I am doing is not only possible but the prefered way of doing things. This is misdirection at best, there are more hostile terms that can be applied. We do not have the same luxury, consider that our first product is for training surgeons how to perform anesthesia. Would you like us to adopt the same principles ? Would you like to be operated on by a Dr trained in such an environment ?
We have medical students, Drs, and a major medical company hanging at this time and this is seriously damaging our credibility, and this is just one of the apps we've got in the pipe. It isn't like we've been a bunch of clueless idiots, we've got a vr medical system tossing 100K polygon human model around in realtime thats going to be training the people that operate on you in a few years. We never asked for any help with our problems. We are asking for help installing microsoft libraries that microsoft says are part of the contract with us.
I WANT MICROSOFT TO SATISFY THE TERMS OF ITS CONTRACT WITH ME AND I WANT IT DONE NOW! I AM NOT ASKING FOR MICROSOFT TO FIX MY PROBLEMS IN MY SOFTWARE, I WANT THE ENVIRONMENT THAT MICROSOFT SOLD ME TO PRODUCE SOFTWARE IN TO BE REPRODUCIBLE. I POSIT THAT ALTHOUGH I HAVE FOLLOWED EACH AND EVERY THING I HAVE BEEN ASKED, IT HAS NOW BEEN A WEEK AND MICROSOFT IS INCAPABLE OF INSTRUCTING ME ON HOW TO INSTALL LIBRARIES THAT ARE THEIR RESPONSIBILITY AND ARE MOST CERTAINLY PART OF THE CONTRACT THEY FORMED WITH ME WHEN I USED VISUAL C++ TO DEVELOP OUR PRODUCT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I request that someone in a postion of responsibility at Microsoft contact me immediately to address these issues. I am certainly interested in continuing to work on these issues with you,Dave, in fact I insist on it. I also want to know beyond a shadow of a doubt that microsoft shares my sense of urgency, and I want to know what resources are being put forth to solve this problem by someone with the authority to direct those resources. This issue is now endangering my business. It has taken a long time and a great deal of money to develop this virtual reality core. There are live customers waiting for it. Microsoft is preventing me from delivering this core to my customers because of issues involving their own copyrighted software. I don't care how it gets done, even if a new CD needs to be shipped to any potential customer we may ever have at Microsofts expense, but I want what I was sold to be delivered. Microsoft says that if I build a release version of a C++ based product I can sell it. That's what I want, and I want it in a timeframe measured in hours, or a few days at most. I have little patience left, as I have plenty of things to do other than solve problems in distributing Microsoft libraries, especially when there is clear proof that Microsoft itself has no such problems.
Mark Mullin Dracosystems
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
THE FINAL EXCHANGE: OK, so if you use visual studio C++ to make something, a customer needs visual studio C++ to run it ?! -----Original Message--
From: Mark Mullin [mailto:Mark Mullin@dracosystems.com] Sent: Monday, May 17, 1999 10:20 PM To: Dave Templin Cc: dustinhu@microsoft.com; chask@microsoft.com Subject: RE: MS Support Case SRX990506601072
Dave,Dustin,Charles:
This is getting beyond annoying.
1) We have developed this software this way for a reason. It is meant to be sold over the web, not through traditional channels. It is meant to install through the component download utility. I have over 200 examples from the latest msdn that specifically state that this is A) possible B) the preferred way of doing things.
2) Assume for a moment that I have a brain in my head. Know that I wrote a complete virtual reality core that is teaching people how to operate on you NOW, so there's a good chance in the next decade that I may contribute to the quality of your health care. Now, do you really think I am so damn stupid I wouldn't have openGL on the test machine? There's even a version right on the base March99 Win98 CD 3) Microsoft successfully deploys internet explorer over the web, and they do it through internet explorer and I'd sure hate to find that microsoft didn't observe in big type in their documentation that they can't even use the tools they provide.
4) Why does each successive missive come later and later after the close of normal business ? It's not like I don't know as soon as I get it.
To the management parties involved
I think you folks better deal with this now. Your company has made extremely specific recommendations about how software should be packaged for distribution in the brave new future of windows, you have over 200 hard claims to this effect in the latest developer CD release. We have a great deal of money invested in making our software operate in this environment, it has been extremely expensive to construct such an animal, which I might point out doesn't even have a damn exe. We get that from explorer or java or office or any other damn container! It's not a damn app, we spend a lot of money making it not a damn app, and if you aren't up to the grade, either you undo the rather extensive damage you've done do us or you can pay me to fix it. I can certainly fix it, I already know how. One way or another, it's coming out of the visual studio installer BECAUSE WE HAVE ABSOLUTE PROOF THIS PROBLEM DOES NOT EXIST ON A MACHINE WHERE VISUAL STUDIO IS INSTALLED!
If I don't have either a solution or a plan for a solution in my hands in a week clearly stating whats going on
1) I'm going to take this cool piece of medical training software we intend on selling over the web and I'm going to show it's gee whiz to all the media, after all this has great eye candy and it's not a video game and the points I'm going to hit on are a) isn't it too bad that what could have been a $99 program over the web is now going to cost a med student $399 and isn't that too bad for health care costs and oh yeah, you wanna see the paper trail and backing evidence that shows this is microsofts fault 2) Media outlets aren't the only ones who are going to be getting this 3) Bristol isn't the only town you are going to become interested in
4) and last but not least, my unfavorite rabid state senator is just going to love this one to death. This is exactly why y'all managed to get yourselves in the gunsights of 19 state DAs
5) Understand that the goal is to solve my problem, not look for the first damn reason to give it back to me. I DON'T PLAY WITH DEAD SNAKES!
So there is no misunderstanding, I have fired one, exactly one shot over your bow. It may misfire, depends on whether you are watching and they are paying attention. You can assume if I've been doing high end graphics on and off for over 20 years what kind of management system I cut my teeth in. We don't give two warnings.
Mark Mullin Dracosystems
-----Original Message--
From: Dave Templin [mailto:dtemp@microsoft.com] Sent: Monday, May 17, 1999 9:52 PM To: 'mullin@dracosystems.com' Cc: Mark Harper Subject: MS Support Case SRX990506601072
Hi Mark,
I ran your CAB file on a Win95 machine with IE5 but without Visual Studio and observed your code download failure. The apparent problem is that v3system.dll is failing with error 80070485, which means that it is missing one or more dependencies. I then ran Dependency Walker on v3system.dll and found that it has 31 dependencies, two of which were not present on the machine: glu32.dll and opengl32.dll. These appear to be Open GL components. There may be other dependency issues beyond these that are not apparent with the Dependency Walker tool.
Upon examining your CAB more closely, I noted the following points:
1. mfc42.cab does not have all of the dependencies that your application requires. 2. Several reboots are required to install dependent cabs. 3. Installation of other dependencies (i.e. OpenGL) are required, which may not be supported via CAB files.
Based on the points above, Internet Component Download may not be well suited to your task. I apologize that this was not more apparent in the beginning. However, it now seems clear that a better alternative would be to consider using a third-party professional installation system like InstallShield. These systems do typically have options that are designed to work over the web.
All Microsoft technology that is publically redistributable should have explicit setup instructions. This usually comes in the form of a "redist.txt" file located somewhere in the product or SDK installation. If a CAB file is not mentioned or provided, then the technology is probably not supported for distribution via Internet Component Download.
Mark, I hope this information helps you to resolve your problem. Please let me know if you need clarification on any of these points, or if you need help finding the redistribution documentation for any Microsoft dependencies that you identify.
Thanks, Dave Templin Microsoft Developer Support - Internet Client mailto:dtemp@microsoft.com 425.704.3411
This page was archived on 6/13/2001; 4:50:18 PM.
© Copyright 1998-2001 UserLand Software, Inc.