.NET
Deployment Made Easy
Host: Sonali Gogate - .NET Evangelist, Microsoft India
March
27, 2002
Sonali[MS]: Hello folks
KunalS[MS]: Good after noon to all of you...
Saurabh: Hi
Sonali[MS]: I am sorry I could not log in earlier
KunalS[MS]: Sonali Gogate, .NET Evangelist from MS India has joined
us
KunalS[MS]: and today's topic is
Saurabh: glad you are here Sonali .. Kunal told me of the problems
Sonali[MS]: Glad to be here
KunalS[MS]: .NET Deployment Made Easy..
KunalS[MS]: So onto you now Sonali
Saurabh: To fire off the first question ... could you comment on the
chnage in policy for Win Apps from IE after .NET SP1
Sonali[MS]: I think the change in the policy makes sense
Saurabh: I really dislike the new policy of totally shuting out the
Win Apps
Sonali[MS]: Well - I know where you are coming from
Saurabh: If you think from an Avg. home user point of view .. there
is no way we (developers) can get them to 'Trust' our applications
Sonali[MS]: but think about the bigger picture
Saurabh: I agree Security .. is a major concern .. but shouldn't there
be more "easier" tools for home users ??
Sonali[MS]: Security is a VERY important issue
Sonali[MS]: Windows platform is a lot easier to use than
other platofrms
Sonali[MS]: and so it is also easier to exploit it and
do "nasty" things
Sonali[MS]: We need to find a balance
Saurabh: yeha .. but the sad fact is that during the initial beta
phase, Win Apps over IE was very much publicized ... and now its totally
stoped !!
Saurabh: How much would it cost MS if they provide a small button
in IE which the user can click to 'trust' an application ... even
though its with minimum permissions ??
Sonali[MS]: Well - actually Microsoft pays a lot of attention
to all the feedback that comes from developer community from acrtoss
the world
Sonali[MS]: and so though it was a "cool" feature, we
decided to go with the higher security
Saurabh: I am aware of it ..(been in development right from PDC release..)
and appriciate it also .. that's why providing feedback in first place
Sonali[MS]: You might have heard that Microsoft is going
all out to make security top priority
Sonali[MS]: Saurabh, your feedback is very welcome.
Saurabh: yes .. heard of it ... coming back to my question .. if not
modify security policy, why not provide easier tools ??
Sonali[MS]: And I am glad you brought this up - as I
am sure a lot of other people have the same queries.
Sonali[MS]: Tool will come
Saurabh: As you might agree an avg. Mom / Dad is not going to go to
Control Panel -> .NET Wizard -> Security Settings -> ..... just from
a simple chat applet to run:0
Sonali[MS]: I know - but anyone who knows a little about
settings can do it
Saurabh: any timeline on the new release ?? since I have a few clients
.. who would definately benifit from this ...
Saurabh: Sonali .. its not they point they could or could not .. the
point is no one will take so much trouble !!
Sonali[MS]: I am sorry, I can not give you a definite
time frame right now
Saurabh: no problems
Sonali[MS]: Saurabh, I agree - that it is not easy and
that there should be a way to do it easily
Sonali[MS]: And tools would go a long way in that direction
Saurabh: thats the point .. its such a great technology .. i would
not want it to go the way Java Appelets have gone
Sonali[MS]: Well, I hope we have learnt from past mistakes
(ours and others )
Saurabh: for a second question .. whats steps are being taken to distribute
the .NET Runtime ?? in words on this
Sonali[MS]: You mean wide distribution?
KunalS[MS]: That is Saurabh's favourite question
Saurabh: since distributing 20 mb redist with every application is
not possible
Deepak: Expect it to see it as parts of "future" OS
Sonali[MS]: Or do you mean as redistributable - with
the apps
Saurabh: yeha Kunal .. thats the one that troubles me the most ....
Deepak: e.g. .NET Server includes .NET Framework out of the box
Sonali[MS]: It is going to be part of the future OSs
- definitely
Sonali[MS]: Windows.NET would come with it
Saurabh: right Deepak .. but not everyone is going to move to .NET
Server
Sonali[MS]: and all the OSs after that would have it
Deepak: it will be as part of the future client OS as well
Saurabh: we do have a significant number of clients on Win98 / ME
... we have to cater to them too right !
Sonali[MS]: yes, you are right, Deepak
Sonali[MS]: Saurabh, absolutely.
Sonali[MS]: We are thinking of some mechanism to do a
mass distribution
dhruva: why dont we prejit all the code
Saurabh: Today if I propose a .NET solution to a client .. I can't
tell him that he has to convert all his OS's to .NET Server and above
....
dhruva: and distribute it
dhruva: would'nt that solve the distribution problem?
dhruva: so the distributable is in machine code
Sonali[MS]: We are thinking of some mechanism to do a
mass distribution.
Saurabh: No offence but I would expect that by now you should have
had a firm policy in place !
dhruva: am i correct there?
Sonali[MS]: well - you would still need the framework
to run the apps
Saurabh: No dhruva .. pre-jited code still needs .NET Runtime
Deepak: think of it like this - the framework is nothing but a bunch
of DLLs - your executables link to those DLLs - you still need the
DLLs i.e. the framework
Sonali[MS]: the framework is not used only to compile
from MSIL to native - but to run and manage the apps
dhruva: ok
dhruva: just thinging
Saurabh: .NET Final is out .. I would love to build some appls on
it .. but I can't distribute it in a country like India .. bundled
with 20 mb of Redist ....
dhruva: one more question on the same lines...
Saurabh: No one has that flexible bandwidth ....
Sonali[MS]: Saurabh, Microsoft has subs world wide
Sonali[MS]: and each geography has its own needs and
wasy
Deepak: and put it on a CD .. they go so cheap these days
dhruva: the .net framework system dlls we link to are probably native
dlls, right?
dhruva: or are they built using .net too?
Sonali[MS]: so - it is not very easy to come up with
something that would work globally
Sonali[MS]: so this is being addressed in each sub locally
Saurabh: yeha .. but MS had 1 yr to think about it ... that biggest
software co in the world should have solutions .. right ??
Sonali[MS]: dhruv, many of the .NET dlls are build on
framework
Sonali[MS]: in fact C# is the language used for many
Sonali[MS]: Saurabh, I hear you
dhruva: what abt mscorlib.dll
Sonali[MS]: dhruv, mscorlib is native
Deepak: it has to get native at some point - its still windows we
are working with... eventually everything will boil down to kernel,GDI,user
or other libraries
Sonali[MS]: Saurabh, and you can rest assured that Microsoft
will pay attention to feedback like yours
Sonali[MS]: dhruv, mscorlib is native - correct me ..
but mscorlib is .NET right
Pranav: Can .NET help me in anyway in my outlook based workflows???
Sonali[MS]: If you see the assemblies in GACUTIL
Saurabh: You can open mscorlib in ILDASM
Sonali[MS]: you'll see that mscorlib's native image is
installed
Saurabh: Any new bugs in the ASP.NET XCopy deployment system ??
Pranav: Sonali, I've got a question... I've got an exe created from
my C# file... I'd like to convert it to a DLL using ildasm.. Is there
anyway to do it????
KunalS[MS]: Members, Sonali has few problems in her network...
KunalS[MS]: she shall be back soon...
Saurabh: Pranav - You can directly copile the C# dile into a DLL ..
no need to use ILDASM for it
Pranav: yeah, I know I can do it and convert it to a dll.. But, if
I want to do it using my ildasm, I shud be able to do it right?
Saurabh: ILDASM is to inspect the IL code .. its not a converter
Pranav: there shud be some minor changes that are to be done to the
executable created for it to work as a DLL
KunalS[MS]: Welcome back Sonali
Pranav: yeah I know saurabh... But, the two IL files of a dll and
exe created using a C# file are looking the same
Saurabh: Pranav- why do you want to convert from DLL to exe ??
dhruva: that seems to be an interesting observation..
Saurabh: Pranav- you can decomplie the file into IL and then use ILASM
to convert it into a library .. but you might have to modify the entrypoint
of the code
Pranav: hey, If I want an exe to work as a dll or vice-versa, I'd
like to know if I change the IL using my ildasm, whether it is possible
to do it
Pranav: Yeah, thatz what I want to know saurabh.. I wanted to know
abt the entrypoint
Pranav: u got my point
shenoy: I don't know about the IL, that kinda comes later, right?
Saurabh: why not recompile the C# source code ??
shenoy: i mean the first thingy is the dll entry point and you could
change that
Saurabh: IL is the assembly language equivalent on .NET
Saurabh: right Shenoy
Pranav: yeah, that is an easy way out.. When I was exploring IL, I
got an idea of converting an exe to a dll and vice versa
shenoy: er..no I know what IL is, but changing it won't change the
EXE/DLL
Pranav: just thot whether it is possible
shenoy: it's just a stub around IL code (the EXE or a DLL)
Sonali[MS]: Hi again
Saurabh: shenoy - right .. b
Saurabh: wb Sonali
zeeship: hi
anrup: I would like to know more about dll entry point
Sonali[MS]: what about the entry point?
Saurabh: Sonali - I have got a lot of problems with the XCopy deployment
of ASP.NET
Sonali[MS]: Saurabh, what kind of problems?
zeeship: sonali
anrup: you can decomplie the file into IL and then use ILASM to convert
it into a library .. but you might have to modify the entrypoint of
the code
Saurabh: I have my site www.mastercsharp.com running on .NET since
Beta1
Sonali[MS]: Some useful articles you can look at for
deployment -
Saurabh: the problem is that when ever I update my libraries(code
behind) .. the changes won't show ...and all pages report error ..
its only after all users have quit the site the new changes take place
Sonali[MS]: Saurabh, its past time you moved ahead of
Beta1
Sonali[MS]: there have been thousands of changes since
Beta1
Deepak: I think he meant he has been using .net since Beta1.. I think
he moved to RTM
Saurabh: no I am currently on RTM .. but I am still facing the same
problem from Beta 1
Saurabh: right Deepak
Sonali[MS]: ok
shenoy: but is the site's ok now?
Sonali[MS]: so the server where you are hosting the site
- have you been only upgrading, or did you format it sometime?
Saurabh: they format everytime !!
Sonali[MS]: ok
Saurabh: shenoy... I am talking of the problem when I update the code
libraries
shenoy: oh
shenoy: ok
Sonali[MS]: what do you have in the web.config file?
Saurabh: nothing much .. just the Forms Authenticaion stuff
Saurabh: Since my application is notepad coded .. no extra useless
code in it
Sonali[MS]: ok
Saurabh: according to the doc's I just need to copy the new Dll's
to the 'bin' directory and the new user hitting the site will be presented
with the new pages .. but that is not what I see.. changes only take
place after all the visitors have gone away
Deepak: looks like older versions of my DLLs are cached in Temporary
ASP.NET Files folder
Sonali[MS]: that should not happen if the machine is
formatted
shenoy: maybe the IL is ngen'ed and cached?
Saurabh: Deepak .. this is a persistant problem when ever I update
the live site ... any ways to avoide this ??
Deepak: IIS recycle.. after you are done copying.. but that is not
practical...
shenoy: I have a feeling this formatting thing ain't happening that
often...
Sonali[MS]: Saurabh, does the folder get very big when
you update the files?
shenoy: Saurabh, do you have admin access to the machine?
Saurabh: Sonali - the problem is not because of the Beta1 libraries
trying to run on Beta 2.. even if I have a working RTM libraries and
I add a new feature the same problem
Saurabh: shenoy- No I am on a shared hosting
Saurabh: Sonali - no .. the folder size does not change
Deepak: let me see if I understand your problem correctly - you modify
your assemblies to introduce new functionality
shenoy: You can try to unload the application from IIS , that'll unload
the DLLs. For that you need either admin access, or some admin script
Sonali[MS]: Well, it should actually
Saurabh: shenoy - what you are talking of is the COM worls .. .NET
is supposed to avoid this
Sonali[MS]: Saurabh, you are right and ASP.NET actually
does avoid all those issues
shenoy: Saurabh, COM ain't going away even with .NET. A large part
of the runtime is still very COM aware
Deepak: now you redo your pages to use the new functionality in those
assemblies
Saurabh: I am trying to get a local copy of the same problem .. but
I don't have a network to test things out
Deepak: now you copy your pages + assemblies - but your page gives
an error because its trying to use older version of the assembly?
Deepak: did I understand you correctly saurabh?
shenoy: I mean, you're still doing IIS right? And unloading the app
is gonna be through COM , no matter what
Saurabh: that's somethimes ... and I understand that problem
shenoy: Could also be a time zone issue.
Deepak: I work around this issue by versioning..
Saurabh: but say .. I have missed out some error-handling routine
in the Dll the first time .. so I re-do my code .. compile it and
upload just the dll .. still the problem persists
Deepak: do you change your dll version on recompile?
Saurabh: Deepak I thought of that .. and use the appropriate assembly
version tags on all by libraries
Sonali[MS]: do the configuration say to use the latest
version?
Saurabh: is its not a breaking change I do not change the version
Saurabh: and remember after all users quit the page functions normally
.... automatically
dhruva: there seems to be a slightly related problem we face...
shenoy: I have a feeling the IL's ngen'ed and loaded into the cache.
The timestamp check only happens only after the cached DLL is unloaded,
which is only after the users quit.
dhruva: our asp.net project has references to some native com dlls
Saurabh: Sonali - No I have not read the the article but on the face
of it ... it does not look useful
dhruva: however when we change some method body(but not the signature)
and recompile the dlls
dhruva: the asp.net pages stop working
Sonali[MS]: Saurabh, believe me it has some useful info
dhruva: on opening the project, all the references have a yellow question
mark next to it
dhruva: and then we have to readd the dlls as references
dhruva: any clue why this happens?
Sonali[MS]: the dll - as in the com dll?
Deepak: in fact it states that xcopy might not be a good idea for
certain kinds of solution
Saurabh: Sonali - I am reading it .. but all its talking about is
COM !!
dhruva: yes
Sonali[MS]: no Saurabh, go ahead and see it details XCOPY
and Windows Installed stuff Deepak: yup COM is mentioned in the article
but just to contrast it with the "old" world
Sonali[MS]: Dhruv, any time you recompile the com dll
Sonali[MS]: the old dll will be deleted and at that time
the links in your .NET project will break
Sonali[MS]: when you have the new dll, it has a new time
stamp (and probably version?)
dhruva: no just a new time stamp...
dhruva: not version necessarily
dhruva: I may not have even loaded the .net project in memory
dhruva: while copying the new dlls
dhruva: and i copy it to the same location...
Saurabh: I read the article .. I did not find anything useful in my
situation .. and since I am on an shared hosting .. I cannot use Windows
Installer:9
Sonali[MS]: Also check info on app configuration
Sonali[MS]: dhruv, so you have both VS.NET and VS6 on
the same machine?
Sonali[MS]: Or are you developing on a diff machine and
then copying it over?
dhruva: developing the com dlls on a different machine and then copying
it over
dhruva: to the web server machine
dhruva: vs6==visual sourcesafe, then yes we have both on same machine
dhruva: we also notice this problem on dev machines where both vs.net
and the web server co-exist
Sonali[MS]: dhruv, by vs6 I meant Visual Studip ^
Sonali[MS]: Visual Studio 6 - that is
dhruva: yeah, we have both
dhruva: why is that a problem?
Sonali[MS]: No not a problem
Sonali[MS]: I am just tryingto understand the machine
configuration
Sonali[MS]: also, what is the problem where you have
the web server and dev env?
sagi: Hi sonali, Just Late
sagi: can the .net studio be loaded on windows 2000 adv servers
Saurabh: just to peek in dhruva ... which version of VS.NETare you
using ??
shenoy: .net "studio"?
Sonali[MS]: yes Sagi it can be loaded on Win 200 Adv
server
dhruva: i recompile the com dll( no exported signature changes) and
put it the same location from where the reference to the asp.net page
was put
dhruva: rc7
Sonali[MS]: shenoy , I am sure he means VS.NET
dhruva: vs.net Rc7
sagi: How 2 do it. any special service pack
Saurabh: dhruva .. time to move to VS.NET Final ...
dhruva: yeah, we are awaiting the cds, dude
Sonali[MS]: If you have VS.NET cds, it comes along with
a Windows Component upgrade cd
dhruva: but is this a known problem
dhruva: we have run through the component upgrad
Sonali[MS]: which would install the framework on the
Advanced server
sagi: yes, we intend to install VS.NET on adv.servers
sagi: How 2 do it. any special service pack
Sonali[MS]: Sagi, Like I said earlier VS.NET comes with
Windows Component upgrade cd
dhruva: so just to get a clarification, Sonali, this behavior is not
supposed to occur?
Sonali[MS]: that you can use to install the frameowork
Sonali[MS]: in fact just pop in the VS.NET disk one
Sonali[MS]: it will then ask you to install the WCU
sagi: Windows component update when run on adv server machine
sagi: gives a service pack error
sagi: and due to this error the whole process of loading comp. upd
fails
Sonali[MS]: what service pack error is this?
sagi: can there be a permanant sol.
sagi: it says windows is loaded with corrent service pack please
sagi: check and re-run the comp. upd. agagin
Sonali[MS]: Sagi, WCU cd has SP2
Sonali[MS]: you can run that
sagi: sp2 for adv. servers
Sanjay: sagi, SP2 is common for Win2k
Sanjay: there isnt a separate SP2 for win2k adv. server
KunalS[MS]: Members, we have only 5 minutes more. So please wind up
your questions for Sonali. Thnaks.
dhruva: Sonali, any input on my problem?
Sonali[MS]: Can you send me a mail? sonali_gogate@hotmail.com
Sonali[MS]: I'll look into the problem and get back to
you
dhruva: ok...
sagi: when can we expect the MS VS.NET in the Indian sub-conitenent
Sonali[MS]: it is already available
sagi: Its there as a beta2
Sonali[MS]: dhruv, better still you can post a query
in the forum
sagi: any thing after beta2
Sonali[MS]: sagi, vs.net is available in India
dhruva: ok..will do, but it seems that the problem we are facing,
should not happen?
sagi: if yes then - where can i get one . whom to contact
sagi: There was a press release from microsoft saying MS .NET will
be delayed