mayvelous

Me, Myself and Mayvelous

Archive for the ‘Software’ Category

This was a humongous pain for me and took quite a lot of my time so just noting down a few points for self reference. Previously, I have Visual Studio 2005 and SQL Server 2005 installed on my Vista machine and they worked just fine. Now we are upgrading to VS2008, I uninstalled everything related to VS2005 then reinstall SQL Server 2005 and things got screwed up. Check out the failure list that I got – pretty much everything failed.

MS SQL Server 2005 Setup Errors

The worst thing about this installation is that, it takes ages to install till the end, then shows up the error message box.

Program Versions:

# SQL Server 2005 – Developer Edition
# Windows Vista Ultimate
# Visual Studio Team Suite 2008

Make sure you cross check Hardware and Software Requirements for Installing SQL Server 2005 before installation.

The first error/warning I tried to fixed was about IIS requirement. I’m sure I have IIS7 enabled on my Vista and also enabled IIS6 compatiblity mode but that is not enough and have to enable some more features.

System Configuration Check

System Configuration Check: IIS Feature Requirement
Microsoft Internet Information Services (IIS) is either not installed or is disabled. IIS is required by some SQL Server features. Without IIS, some SQL Server features will not be available for installation. To install all SQL Server features, install IIS from Add or Remove programs in Control Panel or enable the IIS server through the Control Panel if it is already installed, and then run SQL Server Setup again. For a list of features that depend on IIS, see Features Supported by Editions of SQL Server in Books Online.

I think it is to do with Installing SQL Server 2005 Reporting Service on Vista, untill or unless you enable all those features the Reporting services cannot be installed.

Solution:
The main features to turn on are as mentioned here but I turned on almost everything just to make sure.

IIS 7 Features

More info links:
# How to install SQL Server 2005 Reporting Services on a Windows Vista-based computer
# Installation of SQL Server 2005 in Windows Vista – warning message on IIS feature requirement during System Configuration Check
# Tip for Installing SQL Server 2005 Reporting Service on Vista

Ok, this one is the weirdest error and solution I got. Don’t even ask why in the world do I need to install Office 2003 Web Component add-in while I have Office 2007 installed on my machine. I have no clue, but that’s the only solution I found which works for me. It solves the “OWC11 Setup failed error and the following error message.

MS SQL Server 2005 - Error 1706

ERROR 1706 Setup cannot find the required files. Check your connection to the network, or CD ROM! For other potential solutions to this problem, see c:\Program Files\Microsoft Office\Office11\1033\Setup.chm

Solution
You have to download and install “Office 2003 web components” first and install SQL Server 2005 again; which then in my case cleared the error and installed successfully.
# Download: Office 2003 Add-in: Office Web Components – owc11.exe [ 17.6MB ]

After everything is done, remember to install Microsoft SQL Server 2005 Service Pack 2. Pheewww! That’s it!

I’ve been moving around files and programs from the old XP to a new Vista machine and Infragistics is one of the problems I get while installing on Vista. Just posting it here for my own future reference.

Program Version:

# Infragistics NetAdvantage 2005 Volume2 + hotfixes
# Windows Vista Ultimate

Problem:

The installer runs almost to the end then throws up some compatibility issues errors and didn’t get install properly. The dll library files get loaded in the GAC but cannot load the form design views and also there is no infragistics folder in C:\inetpub\wwwroot\aspnet_client.

Solution:
Need to follow these 4 steps properly.

  1. Disable User Account Control (UAC)
  2. Restart your machine
  3. Edit the System Registry for Internet Information Services (IIS)
  4. Enable IIS 6.0 Compatibility

Reference Links:

# FAQ:Installing NetAdvantage for .NET on Windows Vista
# Tip/Trick: Using IIS7 on Vista with VS 2005

Source code for .Net Framework Libraries are available for download with the next release of VS 2008 and .Net 3.5 next year.
ScottGu explains more
.

Have been said, it’s way too advance for me to dig through those source code as I’m still struggling to learn the efficient use of the libraries itself. But hey, it’s all good that you get the source too. Cool!

Licenses.licx and VSS

In our current project, we have to work with WinForms using VS 2005 and VSS as the project source control. There are two solid developers and one developer/Product Manager involved in the coding of this project. Our Product Manager suggests and prefers we use VSS rather than SVN for better source management (check in/out). As for us, developers (me and my bro), we had a great time using SVN in the last project and prefer to use SVN; nevertheless both of us are flexible and agreed to work with VSS after a few discussion. Things are fine when I focus on designing forms and my bro working on code behinds. But the problem arises when we start testing on a few forms, which need both of us to work on design view.

In VS2005 WinForm IDE, it adds or writes to the licenses.licx file whenever you use custom controls/third party controls such as Infragistic in your form. Though I’m not so sure, I observe that the licenses.licx file is not needed if you work entirely with normal winform controls, but with third party controls, it acts as a config file storing the references of the controls.

Once you add a project to VSS DB, the licenses.licx file is always binded since it’s part of the project property. You can check out the code just fine but when you work with the form design, you’re forced to check out the licenses file. If you don’t/can’t check it out, you can’t do anything to the form design. With VSS, it’s really a pain if one developer checked out the licenses file exclusively, others can’t do any design work on any of the forms. To solve the exclusive checkout on licenses file, we tried to exclude the licenses.licx from the project and let it stay in local folder. Unfortunately, the file itself is part of project property and once it’s excluded, it loses the references as well. For that little experiment, I’ve lost two of my form designs and have to start all over; thank god, they were just small forms. With that failed experiment and out of ideas, we searched for the solution on the web. Found out that it was a known issue for VS2005 IDE and the fix would only available with the next release of Visual Studio. The only work around they suggest so far is to use VSS multiple check out mode.

We don’t want to use Multiple check out mode in our VSS DB for:

  1. VSS doesn’t provide individual file multiple check out mode but for the whole DB,
  2. There are a few careful steps to take before checking back in the multiple check out file. (You cannot check in directly. You must get latest on that file to ensure you get different versions from other developers to merge the file then only you can successfully check it back in.)
  3. VSS merge is a real pain and should I would never trust it. Unless ofcos’ you don’t care about losing some of your codes or have a separate backup, go a head and try it out.
  4. There is the need of source control administrator for merging files.
  5. And again, don’t trust VSS Merge and can’t rely on it.

But untill the next VS release, it’s the only possible way so we don’t have a choice but to use that method. Don’t have time to dig up properly either. So gonna stuck with this problem for the whole project. It’s just making my life miserable. *sign*

Readings: MS Feedback | Forum Q&A

Versioning Models

The core mission of a version control system is to enable collaborative editing and sharing of data. Different systems use different strategies to achieve this. There are two main versioning models namely “Lock-Modify-Unlock” and “Copy-Modify-Merge“.

Lock-modify-unlock

In this model, the repository allows only one person to change a file at a time. This exclusively policy is managed using locks. VSS and old style source controls use this approach where only one person at a time can modify a file. Lock the file, edit, then check in and release the lock. This model is only suitable for a small teams. For a bigger team with many developers, it would be inefficient to use this model as locking isolates a file to only one developer which delays the work among other team members who want to work on the file.

Lock-modify-unlock
The lock-modify-unlock model (Ref #)

The problem with the lock-modify-unlock model is that it’s a bit restrictive, and often becomes a roadblock for users:

  • Locking may cause administrative problems.
    if one developer forgot to unlock a file before he take a leave would cause others to delay working on the file unless an administrator to release the lock.
  • Locking may cause unnecessary serialization
    if developers are to edit different part of the file, it’s is unnecessary to unlock and edit. It should be edited together then merge the file.
  • Locking may create a false sense of security

(Ref: pp. 4)

Copy-modify-merge

In this model, each user’s client contacts the project repository and creates a personal working copy – a local reflection of the repository’s files and directories. Users then work simultaneously and independently, modifying their private copies. Subversion, CVS and a number of other version control systems uses this model as an alternative to locking. Early version of Subversion did not support locking at all, but this is no longer the case. You can now lock files, query files to see who has locked then, and even mark files as requiring locks before edits. This make sense for binary files where merging is impossible. (Ref: pp 5)

Copy-modify-mergeCopy-modify-merge
Copy-Modify-Merge model (Ref #)

NB: TortoiseSVN provides a good built-in diff tool; you can also install WinMerge (http://winmerge.org), which integrate itself into TortoiseSVN.

When Locking is Necessary

While the lock-modify-unlock model is considered generally harmful to collaboration, there are still times when locking is appropriate.

The copy-modify-merge model is based on assumption that files are contextually mergeable: ie. that the majority of the files in the repository are line-based text files(such as program source code). But for files with bonary formats, such as artwork or sound, it’s ofter impossible to merge conflicting changes. In these situations, it really is necessary to users to take strict turns when changing the file. Without serialized access, somebody ends up wasting time on changes that are ultimately discarded.

While Subversion is still primarily a copy-modify-merge system, it still recognizes the need to lock an occasional file and provide mechanisms for this. (Ref: pp 7)

Ref:
#Don’t Use Microsoft Visual SourceSafe!,
# subversion documentation | Online version

Source Control Resources

Here are some of the readings on Subversion and VSS that I came across. Whoever interested in Source Control and its available tools should go through these links first to get to know the technologies out there. I’m just concentrating on SVN and VSS, but there are a lot more to look at. Depending on your choice of technology, google would be your best reference.

Documentations:

Good Reference Articles

No to Visual SourceSafe? Bad Toad! Bad Toad!

I’ll be adding more later and if you find some good readings/articles, do let me know too.

TortoiseSVNOie Turtle turtle, little tortoise, kuchi kuchi kooo…
Oh hello, I’ve just adopted a Tortoise recently. You see, we use to play with this creature called VSS before, but it got wild from time to time and the guys don’t like it much. I don’t like it in the beginning too. I did strangled and fist-fight with it for many times. But the thing is, you only need a bit of patience and time to tame him down. Once I start petting and playing with it, I tend to understand it’s tender part as well as bewilder sides. As you all know, everything has its own pros and cons; our VSS rode a bumpy road and came as an arse but it has soothen out after a while. At least for me, I’m on fair term with him.

TortoiseSVN

Now I found a new pet. It’s really a sweet and gentle thing to start with. It says “Hello” and wags a little tail. Oh just so cute!

SubversionBefore you start with the tortoise, you have to know its family tree; the big fat “Turtles” – Subversion (SVN) evolved from their ancestors called CVS back in ice-age. I’m not interested in CVS but I’m very much interested in SVN and how the little TortoiseSVN communicates to its parents.

So I did a bit of research on Googology and started learning about the whole Tortoise family and their neighborhood. So here we go…

What is SVN?

Subversion is an open source application for revision control, is a replacement for CVS. The goal of the subversion project is to build a version control system that is a compelling replacement for CVS in the open source community.

Subversion’s Features (# Parent Site) (# Wiki)

What operating systems does Subversion run on? (# Portability)

All modern flavors of Unix, Win32, BeOS, OS/2, MacOS X.

Subversion is written in ANSI C and uses APR, the Apache Portable Runtime library, as a portability layer. The Subversion client will run anywhere APR runs, which is most places. The Subversion server (i.e., the repository side) is the same, except that it will not host a Berkeley DB repository on Win9x platforms (Win95/Win98/WinME), because Berkeley DB has shared-memory segment problems on Win9x. FSFS repositories (introduced in version 1.1) do not have this restriction; however, due to a limitation in Win9x’s file-locking support, they also don’t work in Win9x.

To reiterate, the Subversion client can be run on any platform where APR runs. The Subversion server can also be run on any platform where APR runs, but cannot host a repository on Win95/Win98/WinMe.

It’s not necessary to set up Apache to use Subversion on the client sides.If you just want to access a repository then can use subversion client such as TortoiseSVN to integrate with the server. Only when you want to host a networked repository then you have to set up on Apache2 or an “svnserver” server. More info see FAQs (#)

What is TortoiseSVN?

It’s a free open-source client for the Subversion version control system, implemented as Windows shell extension. TortoiseSVN manages files and directories over time. Files are stored in a central repository. Its immediate ancestor was TortoiseCVS which talks to CVS server. (# Doc)

TortoiseSVN’s Features (# Doc)

  • Shell integration
  • Icon overlays
  • Easy access to Subversion commands
  • Directory versioning
  • Atomic commits
  • Versioned metadata
  • Choice of network layers
  • Consistent data handling
  • Efficient branching and tagging
  • Hackability

You can also integrade with Visual Studio.net using this tool called AnkhSVN. It is a Visual Studio .NET addin for the Subversion version control system. It allows you to perform the most common version control operations directly from inside the VS.NET IDE. Not all the functionality provided by SVN is (yet) supported, but the majority of operations that support the daily workflow are implemented. (#)

I think this is all for today’s learning about my new pet. I’ll add more detail on how to feed things and teach your pet A,B,C,D later.

So you want to adopt a Tortoise too? Here are where you can get it from and how to look after it.

# Get Subversion here
# Get TortoiseSVN here.
# Download AnkhSVN

Flickr Photos

  • Win's failed macarons and chocolate
    My Sis's failed attempt Macarons
    Max, May, Showey
    May & Showey
    devweb-programs
    blank document upload

Downloads

Twitter Status


Goodie Links


Mayvelous Friends


Text-Link-Ads
AudioJungle
In-Links
WidgetBucks

I'm an Author for Global Voices

Archives