Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What exactly is WPF, and why is it better than C#?

What exactly is WPF, and why is it better than C#?

Scheduled Pinned Locked Moved The Lounge
csharpwpfquestion
50 Posts 21 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Pete OHanlon

    My apologies, in advance, for the code dump. I do a lot of WPF, and the combination of XAML and C# in WPF is extremely powerful. Here's part of an application I'm currently working on, where an interface element is hidden until it's needed, then it's displayed almost transparent until the user needs it and when they mouse over or touch down on it, the control moves into view and makes itself solid.

    <UserControl x:Class="Huda.Views.HistogramView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d"
    xmlns:vw="clr-namespace:Huda.Views"
    Width="650"
    Height="220"
    x:Name="histogramView"
    DataContext="{Binding Histogram, Source={StaticResource Locator}}"
    Visibility="{Binding IsVisible}"
    d:DesignHeight="300" d:DesignWidth="300" Opacity="0.2">
    <UserControl.RenderTransform>
    <TransformGroup>
    <TranslateTransform/>
    </TransformGroup>
    </UserControl.RenderTransform>
    <UserControl.Resources>
    <Storyboard x:Key="OnMouseEnter1">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.Y)" Storyboard.TargetName="histogramView">
    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="-69"/>
    <EasingDoubleKeyFrame KeyTime="0:0:0.7" Value="-122"/>
    </DoubleAnimationUsingKeyFrames>
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="histogramView">
    <EasingDoubleKeyFrame KeyTime="0" Value="0.2"/>
    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
    </DoubleAnimationUsingKeyFrames>

        </Storyboard>
    </UserControl.Resources>
    <UserControl.Triggers>
        <EventTrigger RoutedEvent="Mouse.MouseEnter" SourceName="histogramView">
            <BeginStoryboard Storyboard="{StaticResource OnMouseEnter1}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="TouchDown" SourceName="histogramView">
            &
    
    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #25

    That's what sold me on Silverlight. I absolutely love the control we have over controls. The ability to change the shape/color/behavior of anything is like magic.

    P 1 Reply Last reply
    0
    • L Lost User

      That's what sold me on Silverlight. I absolutely love the control we have over controls. The ability to change the shape/color/behavior of anything is like magic.

      P Offline
      P Offline
      Pete OHanlon
      wrote on last edited by
      #26

      I'm doing this for the Intel Ultimate Coder competition, and the speed I can crank out code is testament to the power of WPF (or Silverlight if you prefer that). I've got this control in place, and I'm adding in the option to trigger this display based on a gesture or voice command - and given the ease of customisation, the amount of code I have had to write is dramatically reduced.

      I was brought up to respect my elders. I don't respect many people nowadays.
      CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

      L 1 Reply Last reply
      0
      • D Dave Calkins

        Not true. If you're writing native C++/Win32/MFC code you can distribute all the runtime lib and MFC dependencies as DLLs in your install directory. Very clean. Its a shame the newer technologies seem to completely ignore deployment hassles and just dump it all on the end user to install some framework/runtime just to run your app. Xcopy deployment is the way it should be imo :) Its not that you have the issue in any technology, its that you have the issue when the technologies are built without regard for deployment.

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #27

        Dave Calkins wrote:

        Xcopy deployment is the way it should be imo :)

        That's still possible, you'd just not be doing it in a managed environment. If you want the benefit of a complete framework, that's the price you pay. Most machines will already have it, since quite some apps use it these days. It's also already baked in into the still supported Windows-systems. No, it won't run on Win98.

        Dave Calkins wrote:

        Its not that you have the issue in any technology, its that you have the issue when the technologies are built without regard for deployment.

        You think it's more efficient to compile the 20Mb runtime into the app itself? Remember that the .NET framework is a bit "more" than the Delphi VCL, and also comes with a VM. ..but do feel free to write C++/MFC code.

        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

        D 1 Reply Last reply
        0
        • P Pete OHanlon

          I'm doing this for the Intel Ultimate Coder competition, and the speed I can crank out code is testament to the power of WPF (or Silverlight if you prefer that). I've got this control in place, and I'm adding in the option to trigger this display based on a gesture or voice command - and given the ease of customisation, the amount of code I have had to write is dramatically reduced.

          I was brought up to respect my elders. I don't respect many people nowadays.
          CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #28

          It's perfection is why it had to be abandoned. Microsoft is always quick to jettison the good stuff.

          P 1 Reply Last reply
          0
          • L Lost User

            It's perfection is why it had to be abandoned. Microsoft is always quick to jettison the good stuff.

            P Offline
            P Offline
            Pete OHanlon
            wrote on last edited by
            #29

            I'd be fonder of WinRT if they hadn't crippled it with an incomplete implementation. No Blend behaviour support. No custom Markup extensions. No type converters. :sigh:

            I was brought up to respect my elders. I don't respect many people nowadays.
            CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

            L 1 Reply Last reply
            0
            • L Lost User

              Dave Calkins wrote:

              Xcopy deployment is the way it should be imo :)

              That's still possible, you'd just not be doing it in a managed environment. If you want the benefit of a complete framework, that's the price you pay. Most machines will already have it, since quite some apps use it these days. It's also already baked in into the still supported Windows-systems. No, it won't run on Win98.

              Dave Calkins wrote:

              Its not that you have the issue in any technology, its that you have the issue when the technologies are built without regard for deployment.

              You think it's more efficient to compile the 20Mb runtime into the app itself? Remember that the .NET framework is a bit "more" than the Delphi VCL, and also comes with a VM. ..but do feel free to write C++/MFC code.

              Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

              D Offline
              D Offline
              Dave Calkins
              wrote on last edited by
              #30

              I don't think 20MB is a significant size to worry about, no. Actually if you compile it "into the app itself" as you said it would likely be smaller, if you distribute all the libraries as DLLs then the size is more like the 20MB you're referring to (assuming 32-bit and 64-bit libs are included). And C++/MFC code is exactly what I was talking about. Its a case where you can ship with your libraries and not require your framework to be installed separately. Not saying that applies in every case, just that it is a case where you have the ability to do that. Obviously if you're targeting .NET you then have to deal with the runtime install. It is helpful that, if the user is installing windows updates, they'll likely get the framework updates through that. Perhaps the "without regard for deployment" was a bit strong, just expressing my appreciation for being able to just ship the libraries with the app when doing C++/MFC :)

              L P 2 Replies Last reply
              0
              • A AspDotNetDev

                For starters, I made this and this (both funky UI's that would be hard to make with Windows Forms) in WPF with relative ease. For one, the binding syntax is super customizable. It really makes MVVM super powerful. On top of that, user interfaces are super customizable. You can put at tree inside a button inside a rich text control (or whatever you want). And since views are templated, you can override views and make them look however you want. And since it's all declarative, it's really easy to do. And pretty much everything can be nested and layed out however you like, as with this example of a label/circle/button inside of a button:

                <Button>
                <StackPanel>
                <TextBlock>Hello</TextBlock>
                <Ellipse Width="100" Height="100" Fill="Azure"></Ellipse>
                <Button>Nested Button!</Button>
                </StackPanel>
                </Button>

                If you want something fun to work on, WPF is where it's at (though the new WinRT stuff is similar in that it uses XAML and it's the way Microsoft seems to be going from now on). Note to hamsters: I had to recreate this entire post, because my browser froze when I pasted the above code snippet. :mad:

                Thou mewling ill-breeding pignut!

                G Offline
                G Offline
                GuyThiebaut
                wrote on last edited by
                #31

                Thanks for those two examples! I have not used WPF and have been curious about it, so it is good to see some concrete examples that show just what can be done. I think it has whet my appetite and I might start looking into implementing something simple to get more of an idea of just what the advantages are.

                “That which can be asserted without evidence, can be dismissed without evidence.”

                ― Christopher Hitchens

                1 Reply Last reply
                0
                • D Dave Calkins

                  I don't think 20MB is a significant size to worry about, no. Actually if you compile it "into the app itself" as you said it would likely be smaller, if you distribute all the libraries as DLLs then the size is more like the 20MB you're referring to (assuming 32-bit and 64-bit libs are included). And C++/MFC code is exactly what I was talking about. Its a case where you can ship with your libraries and not require your framework to be installed separately. Not saying that applies in every case, just that it is a case where you have the ability to do that. Obviously if you're targeting .NET you then have to deal with the runtime install. It is helpful that, if the user is installing windows updates, they'll likely get the framework updates through that. Perhaps the "without regard for deployment" was a bit strong, just expressing my appreciation for being able to just ship the libraries with the app when doing C++/MFC :)

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #32

                  Dave Calkins wrote:

                  I don't think 20MB is a significant size to worry about, no. Actually if you compile it "into the app itself" as you said it would likely be smaller, if you distribute all the libraries as DLLs then the size is more like the 20MB you're referring to (assuming 32-bit and 64-bit libs are included)

                  More if you take the updates in account.

                  Dave Calkins wrote:

                  And C++/MFC code is exactly what I was talking about. Its a case where you can ship with your libraries and not require your framework to be installed separately.

                  That's a set of libraries, whereas .NET runs a Virtual Machine. It'd be rather inefficient to compile that big a runtime into each app that uses it; makes more sense to have it as a part of Windows itself. Things like a GAC solve a lot of problems, that particular one caused by the XCopy behaviour. It gave us a DLL-hell, and applications with insecure and outdated libraries.

                  Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                  D 1 Reply Last reply
                  0
                  • D Dave Calkins

                    Not true. If you're writing native C++/Win32/MFC code you can distribute all the runtime lib and MFC dependencies as DLLs in your install directory. Very clean. Its a shame the newer technologies seem to completely ignore deployment hassles and just dump it all on the end user to install some framework/runtime just to run your app. Xcopy deployment is the way it should be imo :) Its not that you have the issue in any technology, its that you have the issue when the technologies are built without regard for deployment.

                    S Offline
                    S Offline
                    Shuqian Ying
                    wrote on last edited by
                    #33

                    We had a product written in C# (.net 4.0). Albeit there are many downloads, the actual successful install rate is a lot lower. Part of the causes is because .net 4.0 is not installed on a user's machine by default up to Windows 7 and many users either can't install the framework on their own or are not willing to take time to do it. It is strange that Microsoft developed the framework and somehow does not make it easy for a user to use it.

                    Having way too many emails to deal with? Try our SQLized solution: Email Aggregation Manager[^] which gets your email sorted, found and organized beyond known precision.

                    I R 2 Replies Last reply
                    0
                    • L Lost User

                      Dave Calkins wrote:

                      I don't think 20MB is a significant size to worry about, no. Actually if you compile it "into the app itself" as you said it would likely be smaller, if you distribute all the libraries as DLLs then the size is more like the 20MB you're referring to (assuming 32-bit and 64-bit libs are included)

                      More if you take the updates in account.

                      Dave Calkins wrote:

                      And C++/MFC code is exactly what I was talking about. Its a case where you can ship with your libraries and not require your framework to be installed separately.

                      That's a set of libraries, whereas .NET runs a Virtual Machine. It'd be rather inefficient to compile that big a runtime into each app that uses it; makes more sense to have it as a part of Windows itself. Things like a GAC solve a lot of problems, that particular one caused by the XCopy behaviour. It gave us a DLL-hell, and applications with insecure and outdated libraries.

                      Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                      D Offline
                      D Offline
                      Dave Calkins
                      wrote on last edited by
                      #34

                      Eddy Vluggen wrote:

                      That's a set of libraries, whereas .NET runs a Virtual Machine.

                      Yes, it would be a different matter trying to apply the xcopy deployment to the entire .NET framework, I agree :) But it is nice that with C++/MFC you can deploy that way and the size penalty is not significant. If you take the approach of shipping C++/MFC libraries with the application, then yes you do need to make sure you update them and that your users do update the software since you can't rely on the Windows update mechanism to push the new framework updates out. In terms of DLL hell, using a private assembly within your app install directory should not adversely affect other apps. You do have the extra space by shipping with your own copy, but in this case that isn't a huge penalty. Speaking of the GAC, it had the problem of replacing DLL hell with manifest hell. It appears MS decided manifest hell was actually worse than DLL hell as VS2010 reverts back to a much simpler approach with the C++ runtime libs and MFC :)

                      1 Reply Last reply
                      0
                      • P Pete OHanlon

                        I'd be fonder of WinRT if they hadn't crippled it with an incomplete implementation. No Blend behaviour support. No custom Markup extensions. No type converters. :sigh:

                        I was brought up to respect my elders. I don't respect many people nowadays.
                        CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #35

                        I imagine most of that will come in time, won't it? I've not looked into WinRT and probably won't for another two years. I don't care to be a guinea pig while they work out all the bugs. Is it very similar to developing in WPF/Silverlight?

                        P 1 Reply Last reply
                        0
                        • L Lost User

                          I imagine most of that will come in time, won't it? I've not looked into WinRT and probably won't for another two years. I don't care to be a guinea pig while they work out all the bugs. Is it very similar to developing in WPF/Silverlight?

                          P Offline
                          P Offline
                          Pete OHanlon
                          wrote on last edited by
                          #36

                          MehGerbil wrote:

                          I imagine most of that will come in time, won't it?

                          I'm not sure it will. Unfortunately, WinDiv has too much say.

                          MehGerbil wrote:

                          Is it very similar to developing in WPF/Silverlight?

                          Not really. If you know XAML, it's not too bad, but you're best thinking of it as being closest to Windows Phone.

                          I was brought up to respect my elders. I don't respect many people nowadays.
                          CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

                          1 Reply Last reply
                          0
                          • G GuyThiebaut

                            At work I write VB and C# whereas at home my preference is for C#(purely because there are more articles on C# and I have a preference for its elegance). There really is not much of a difference, in my experience, and I find I can swap between the two quite easily. There have even been cases where I have created a DLL in VB because it was easier to do that than write the code in the C#(and vice versa). In some ways this is the beauty of the .Net framework - you can program in multiple languages picking the one that suits you and your team best.

                            “That which can be asserted without evidence, can be dismissed without evidence.”

                            ― Christopher Hitchens

                            J Offline
                            J Offline
                            JimmyRopes
                            wrote on last edited by
                            #37

                            GuyThiebaut wrote:

                            There have even been cases where I have created a DLL in VB because it was easier to do

                            :confused:

                            The report of my death was an exaggeration - Mark Twain
                            Simply Elegant Designs JimmyRopes Designs
                            Think inside the box! ProActive Secure Systems
                            I'm on-line therefore I am. JimmyRopes

                            D G 2 Replies Last reply
                            0
                            • J JimmyRopes

                              GuyThiebaut wrote:

                              There have even been cases where I have created a DLL in VB because it was easier to do

                              :confused:

                              The report of my death was an exaggeration - Mark Twain
                              Simply Elegant Designs JimmyRopes Designs
                              Think inside the box! ProActive Secure Systems
                              I'm on-line therefore I am. JimmyRopes

                              D Offline
                              D Offline
                              Dan Neely
                              wrote on last edited by
                              #38

                              JimmyRopes wrote:

                              GuyThiebaut wrote:

                              There have even been cases where I have created a DLL in VB because it was easier to do

                              :confused:

                              Before .net 4.0 and C# optional parameters writing COM wrappers was often easier in VB because you could use 3 named parameters to call the COM object instead of having to seed your three values in between several dozen null's. I'm not aware of any cases where VB.net still has significantly better language support for a feature than C# (and VB's LINQ syntax is an abomination, and LINQ has becoem such a large part of my programming habits that it's already at -100 just for that). If there still are things easier to do in VB I'm eager to be proven wrong because the less time I spend swearing at tools that make my job harder than it has to be the happier I am at work.

                              Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                              J 1 Reply Last reply
                              0
                              • D Dan Neely

                                JimmyRopes wrote:

                                GuyThiebaut wrote:

                                There have even been cases where I have created a DLL in VB because it was easier to do

                                :confused:

                                Before .net 4.0 and C# optional parameters writing COM wrappers was often easier in VB because you could use 3 named parameters to call the COM object instead of having to seed your three values in between several dozen null's. I'm not aware of any cases where VB.net still has significantly better language support for a feature than C# (and VB's LINQ syntax is an abomination, and LINQ has becoem such a large part of my programming habits that it's already at -100 just for that). If there still are things easier to do in VB I'm eager to be proven wrong because the less time I spend swearing at tools that make my job harder than it has to be the happier I am at work.

                                Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                J Offline
                                J Offline
                                JimmyRopes
                                wrote on last edited by
                                #39

                                Dan Neely wrote:

                                Before .net 4.0 and C# optional parameters writing COM wrappers was often easier in VB

                                That was before Micro$oft abandoned their golden child. As they often do they champion a technology and then abandon it. These days, there is no reason, except for getting paid to do it, to code in VB. <confession> I once had a contract coding in VB6. Yes I am a code whore. Pay me enough and I will code in any language you like. It doesn't mean I like it or that I am proud of my actions. And yes, I did like that I could use an enum as an input parameter to a dll function and have a drop down to select for that parameter. That is the only thing I liked about VB that I couldn't replicate in C#. </confession>

                                The report of my death was an exaggeration - Mark Twain
                                Simply Elegant Designs JimmyRopes Designs
                                Think inside the box! ProActive Secure Systems
                                I'm on-line therefore I am. JimmyRopes

                                1 Reply Last reply
                                0
                                • J JimmyRopes

                                  GuyThiebaut wrote:

                                  There have even been cases where I have created a DLL in VB because it was easier to do

                                  :confused:

                                  The report of my death was an exaggeration - Mark Twain
                                  Simply Elegant Designs JimmyRopes Designs
                                  Think inside the box! ProActive Secure Systems
                                  I'm on-line therefore I am. JimmyRopes

                                  G Offline
                                  G Offline
                                  GuyThiebaut
                                  wrote on last edited by
                                  #40

                                  It was a few year back, I would have to try and dig out what it was but I think Dan has hit it on the head and it was something to do with speech recognition and COM wrappers. I have recently done the opposite where I wrote a DLL in C# for a VB application because I knew I would be using the DLL again and as I mentioned I have a preference for C# due to its elegance :)

                                  “That which can be asserted without evidence, can be dismissed without evidence.”

                                  ― Christopher Hitchens

                                  1 Reply Last reply
                                  0
                                  • S Shuqian Ying

                                    We had a product written in C# (.net 4.0). Albeit there are many downloads, the actual successful install rate is a lot lower. Part of the causes is because .net 4.0 is not installed on a user's machine by default up to Windows 7 and many users either can't install the framework on their own or are not willing to take time to do it. It is strange that Microsoft developed the framework and somehow does not make it easy for a user to use it.

                                    Having way too many emails to deal with? Try our SQLized solution: Email Aggregation Manager[^] which gets your email sorted, found and organized beyond known precision.

                                    I Offline
                                    I Offline
                                    irneb
                                    wrote on last edited by
                                    #41

                                    True, I've seen that particular issue myself. Strange though, since lots of other "libraries" tend to be packaged together with the app. Take e.g. a game which uses DirectX 10, it would usually have the DX10 installer on its CD as well - to install if the client doesn't have it yet. Usually it would even be "automatic" from the main game's install. Otherwise, you'd need something like the Linux guys have with true application managers: i.e. your distribution simply lists its dependencies and the manager then handles downloading & installing them for you. Would be nice if such was available to Windows apps. Though only for 1st world internet access. Something which irks the $%&# out of me is an install which downloads another, which takes up an hour to transfer - so I can imagine the users stopping this when they become irritated. As for a VM linked into your executable (or packaged together), depends on the size I guess - I'd hate to have to link in an entire JVM/CLI for a "simple" app. Most Lisp implementations actually go about it this way when compiling to EXE: link in the lisp engine. But the more "optimal" lisps would either only link in the actually used parts or convert the lisp in totality to C code and then compile that. But I wouldn't mind too much if the Dot Net 4.0 installer is packaged together on the same CD as the program - might be an issue for install from on-line though.

                                    1 Reply Last reply
                                    0
                                    • Y Yvar Birx

                                      I see. I still wish Microsoft would allow your application to contain every referenced DLL, so people do not have to download the .NET framework.

                                      M Offline
                                      M Offline
                                      Mark_Wallace
                                      wrote on last edited by
                                      #42

                                      They used to, which is why so many machines running Win 3.x and Win 95 were broken.

                                      I wanna be a eunuchs developer! Pass me a bread knife!

                                      1 Reply Last reply
                                      0
                                      • L Lost User

                                        C# is a language. WPF is a presentation framework (like window's forms). You can use VB, C# or other languages in the creation of applications that use Windows Forms, Silverlight, or WPF for the UI. I'd go with Silverlight (I am actually) since it most closely matches what will be available in Windows 8.

                                        T Offline
                                        T Offline
                                        Thomas Daniels
                                        wrote on last edited by
                                        #43

                                        It's "Windows Forms", not "window's forms". Don't write the apostrophe.

                                        The quick red ProgramFOX jumps right over the Lazy<Dog>.

                                        1 Reply Last reply
                                        0
                                        • D Dave Calkins

                                          I don't think 20MB is a significant size to worry about, no. Actually if you compile it "into the app itself" as you said it would likely be smaller, if you distribute all the libraries as DLLs then the size is more like the 20MB you're referring to (assuming 32-bit and 64-bit libs are included). And C++/MFC code is exactly what I was talking about. Its a case where you can ship with your libraries and not require your framework to be installed separately. Not saying that applies in every case, just that it is a case where you have the ability to do that. Obviously if you're targeting .NET you then have to deal with the runtime install. It is helpful that, if the user is installing windows updates, they'll likely get the framework updates through that. Perhaps the "without regard for deployment" was a bit strong, just expressing my appreciation for being able to just ship the libraries with the app when doing C++/MFC :)

                                          P Offline
                                          P Offline
                                          patbob
                                          wrote on last edited by
                                          #44

                                          Dave Calkins wrote:

                                          Obviously if you're targeting .NET you then have to deal with the runtime install. It is helpful that, if the user is installing windows updates, they'll likely get the framework updates through that.

                                          Why not use the prerequisite feature in the windows installer? It allows you to bundle a self-installing copy of the required framework with the C# app. As for xcopy installtion, explicitly call out a version of the libraries that was pushed out as a service pack so you're guaranteed it's already in their side-by-side cache... or simpler yet, remove the manifest and let the system use the latest version installed on the user's machine.

                                          We can program with only 1's, but if all you've got are zeros, you've got nothing.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups