Jump to content


  • Posts

  • Joined

  • Last visited

  • Donations

  • Country


Posts posted by Colonel

  1. The 'plan' is to use C# for the code, and MSSQL2005 as the back end data store, but I will try and keep it compatible with SQL Express with Advanced Services (and therefore free). I do intend to use BITS for file transfers, and I am thinking about Windows Communication Foundation (WCF) for client / server messaging. The only thing making me hesitate about WCF is it means this is going to be XP SP2+.

    As for application support, this kind of service is obviously going to scan end user's systems for software and hardware, so I can target applications and drivers that the majority of users have installed.

    Of course, this would all be done in a totally anonymous way, nothing like WGA, etc.

  2. I am actually a software engineer by trade, so I do realize exactly how much work this is. The server / client / database is not the problem, as you said, keeping content up to date is.

    My plan (assuming I actually start) is to have clients download content directly from the official source, and automate whatever technology they have implemented to install it (ie: client downloads the official path and simply starts it with the required silent switches).

    As far as developing a fan base to contribute, look at the communities that have sprung up around unattended installs and switch less installers (here and RyanVM's forums). I am willing to bet updating already installed software is something most people do more often than they format.

  3. As an network admin, over the last few weeks updates for third party applications have really started to p*** me off. Now, I have SMS on my network, so the actual installs are fine, whats getting under my skin is how every app these days has its own auto-updater. Adobe has one, Sun has one... and they all run as the logged on user.

    My clients all run as non-admins, so these auto updates are totally pointless, since they don't have the rights to install the patches. This means they have several totally useless tray icons, they take up resources and bandwidth.

    For a single personal computer, these updaters are ok, since you are probably running as an administrator. However, I have several personal machines (as I bet many of the members of this forum do as well) and end up having to install the same updates on each one individually, wasting both my bandwidth and time.

    A lot of the software on this form is targeted at simplifying computer deployment and installs, not so much for on-going management.

    What I propose is a public version of Microsoft Updates, but for any application. The 'community' maintains the list of programs, and their patches. Eventually, I would like to build in support for one machine to automatically mirror decisions made on a master machine (for home use) and an equivalent to WSUS for a cooperate network. This would of course all be done in a free and secure manner.

    I am a skilled programmer, and am willing to do a large part of the work (if not all of it), but I want to know if there is a demand for this type of product or if I am just nuts. Any feedback would be greatly appreciated.

  4. I just installed XPx64 on a new AMD x64 x2 4800+ system I built, and pinging our servers is producing wierd results. Either they come back in the > 90,000 MS range (but it only takes about a second per ping, as normal), or they come back with ~-8 ms. Yes, negative eight milliseconds.

    Pings were the same as other machines when we put x86 on the box... (for other reasons).

    Just thought I would ask as see if any one had seen this before...

  5. I just finished deploying SMS03 to 300 machines across five buildings, and found capist to be a pain. I ended up deploying the client via a GPO, and letting SMS decide the client site based of of the IP Subnet / AD Site Name.

    Granted I went all out and extended the AD Schema, so it may not would without that.

    As far as writing a script to run any where, you can use regular batch file commands to do this. Check KB190899 for how to determine the OS in a batch file, and based on that you can fill in the AUTODETECT value as needed.

  6. Don't choose your version of Visual Studio based on which is better, you need to decide between VB6 and VB.Net 1.0/1.1 and VB.Net 2.0/3.0.

    Visual Studio is only for VB6 / VBA / FoxPro / etc.

    Visual Studio .Net 2002 / 2003 is specifically for VB.Net / C# / etc 1.0 and 1.1.

    Visual Studio .Net 2005 is for VB.Net / C# / etc 2.0 and 3.0.

    Be ware that at this time none of the above are supported on Windows Vista (the programs you write are, the IDE its self is not). 2005 will be supported on Vista "some time soon" after Visual Studio 2005 SP1 is released.

    As far as hardware goes, I would say a P3 is good enough to run any of the above, depending on available RAM. You should consult the MSDN site for details. If you go to the 2005 product pages, there is a link on the bottom left for "Previous Versions" so you can look up the recommended system specifications.

  7. As a general reply about .Net memory usage and performance, a bare bone executable app appears to take up ~30 MBs of memory because it it being hosted by the common language runtime (CLR). The CLR is active any time any .Net application is running, but because of the way it works, windows counts it's memory for ALL .Net processes. So if you were to run two "base bone" .net apps, they would both APPEAR to use ~30 MBs of memory, when in fact they are using only ~30 combined, zero if another .Net app is running some where else.

    You can read this example of how this affects even basic code.

    JIT is a good idea, because it compiles your code on the end user's machine, with specific optimizations for their hardware. It only compiles any given method once, the first time it is accessed. If you want to avoid this, as part of your install, you can use the NGen tool to pre-compile your assemblies so they are NOT JIT'ed.

    Requiring users to install the.Net framework is not a big deal at all. XP SP2 shipped with .Net 1.1, and 2.0 is now included in automatic updates, so there is a good chance they already have it. Vista is even shipping with .Net 3.0 pre-installed.

    In regards to LLXX's post, .Net is considered a true, standard language and is now what is being taught in computer science programs at many respected universities. C/C++ are almost considered obsolete these days, at least in applications that do not require granular memory control or portability to other platforms.

  8. jcarle was right on. I must disagree with LLXX though, pointers go against the entire idea of managed code and OOP.

    A structure is the way to go because your data type has no functionality, no methods, etc. IE: Other objects use this data, this data doesn't do anything on its own.

    Your structure should look something like this.

    Public Structure PacketData
    Public IntegerOne as Integer
    Public IntegerTwo as Integer
    Public IntegerThree as Integer
    Public StringBytes as Byte()
    Public OtherNumber as Long
    End Structure

    Warning: I'm a C# guy myself, so some of this syntax may be a tad bit off.

    If you are using .Net 2.0 you can use a System.Collections.Generic.Queue(Of PacketData) to strongly type your queue (See jcarle's post). So to get a set of data out of the queue, would could simply go:

    Dim ReadData as PacketData = MyQueue.Dequeue()

    If you are still using 1.0 or 1.1 you would need to use a System.Collections.Queue and cast the object from the Dequeue method back to PacketData like"

    Dim ReadData as PacketeData = CType(MyQueue.Dequeue(), PacketData)

  • Create New...