I Can't Have What I Want

I have determined why there aren't more quality processes in place in the community for server controls. It's because Microsoft makes it darn-near impossible to install controls in the intuitively simplest manner. In fact, the whole process is completely counterintuitive.

So, I have been testing out the code that I wrote last night, and it basically appears that I can't have anything that I wanted. Well, I take that back. I can add the assembly to the “Add References” dialog dynamically. That's about it. Here's what I can't have:

  • I can't create a library of custom installer functions, VS.NET and MSI are retarded. You can only have one installer class per assembly, and you can't just create installer functions and pass in a function name. If I'm in VS.NET, and I'm installing a VS.NET app, why can't I pass a VS.NET function as an entry point? Why do I have to write it in C++ to be able to accomplish what I want?
  • I can't automatically register the control in the toolbox, because VS.NET does not have a way for me to add toolbox tabs, or reference a tab by name. Therefore, there is no predictable way to ensure the control will get into the right tab. The way you access a new instance of VS.NET is pretty hokey too.
  • VS.NET's installer design time story really stinks. What smells even worse though is the outrageous expense for any other installer out there. It really sucks to be a small software developer these days, because the barriers to successful entry are so high. $1100 for a decent MSI builder is hardly a small hurdle.

So for now, you'll have to register ScrollingGrid in the toolbox yourself. When you do, you'll get this nifty little bugger in there:

 

How cool is THAT??!?!? :-D At least I got the icon I wanted.

7 Comments

  • I'm with you. I can't tell you how frustrated I am with trying to add some fairly simple features to my installation package. All I was trying to do yesterday was to pick up the virtual directory my application was installed in, and load a web page from my application after installation. I was finally able to figure it out, but the only way I could get it to work was to write the virtual directory name out to a config file, and then read it again when I was trying to load my web page. It works, but how dumb is that? Oh, and I am picking up the virtual directory name via an undocumented feature, so who knows if that will work in the future. I hope this stuff is improved in Whidbey.

  • I can't even install a sample web app with a component with the VS.NET deployment projects. Ugh, what gives?

  • I got around your first point via something like this:



    public class MyProjectInstaller : Installer

    {

    public MyProjectInstaller() : base()

    {

    this.Installers.Add(new XInstaller());

    this.Installers.Add(new YInstaller());

    }

    }



    Not sure if this is exactly what you're looking for, but it did the trick for me.



  • Also, you might look at Installshield Express, which I use for my personal deployment projects. It's only $349 and provides everything except for custom dialogs.

  • Well, the point was being able to call the separate installers like functions, and pass separate data to them. Sure, i could just have one installer routince and slap 8 paramaters on them, but that negates the point of a reusable function.

  • I've considered buying a third party install package, but I've hesitated for the following reasons:

    1) They generally seem to be pricey.

    2) I generally cannot verify that these products (Install Shield, Wise, whatever) include the features that will be important to me. Almost all the development work I am doing is either ASP.NET applications or .NET Compact Framework apps. While I can find information on .NET CF support, there is usually not a lot of information about creating ASP.NET app installations.

    If I am going to pay a lot of money for something, it had better include features that will help me with the kind of installations I need to create.

  • I may be in the minority here, but when I use a server control (or a code sample or anything related), I want it to come in a ZIP file, not an EXE, not an MSI. I do not want to install it, I want to copy and paste it into the directory I want to put it in as needed. I want to add it to the toolbox myself IF I want it there.

    I can not tell you the number of times I've downloaded an application (like the ASP.Net start kits, for example, but there are innumerable others) or a piece of code or whatever and saw that it was an MSI and sent it straight to the ether with shift+delete, do not pass the recycle bin, do not collect $200. SharpReader, Firebird, the SnippetCompiler, those things come in a zip and I have control over them. That is how everything should come. For those who do want/need that control, offer an MSI.

Comments have been disabled for this content.