Sunday, April 8, 2012

Visio 2005 Enterprise Architects with VS2008

To install Visio 2005 Enterprise Architect with VS2008, create the following new entry in the Registry and then install Visio 2005.

On 64bit processor use the following key:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\8.0\Setup\VS\VSTD

Under this key create this string value:
ProductDir=1


Ref: http://pradeep1210.wordpress.com/2010/04/17/visio-for-enterprise-architects-installation-hack/

Friday, January 27, 2012

Failed to access IIS metabase


Steps to fix:
  1. Completely reinstall IIS 5.1 (uninstall, reboot, delete C:\Inetpub folder, install).
  2. Register .NET for IIS (first v2 then v4): (Error message = "Failed to access IIS metabase")
    • In command prompt, go to the appropriate folder (e.g. cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727)
    • aspnet_regiis -i
    • iisreset
      • If this step fails with the error "The service did not respond to the start or control request in a timely fashion. (2147943453, 8007041d)", silently curse from the frustration, and restart the site manually through the IIS console (Start -> Programs -> Administrative Tools -> Internet Information Services). If you are (rightfully) paranoid, restart your PC.
  3. Add READ access to Everyone
    • Download MetaAcl
    • Open command prompt
    • Metaacl.vbs "IIS://localhost/W3SVC"
      • View current access (Everyone only has E)
    • Metaacl.vbs "IIS://localhost/W3SVC" Everyone R
      • THIS FIXED IT
  4. Add IIS Virtual Directory
    • You know, in the IIS console for the "Default Web Site."
  5. Reminders on publishing: (you should know this already)
    • Windows authentication ( in web.config) requires you to enable Integrated Windows Authentication in the IIS Directory Security.
    • It helps to disable anonymous access. (Add in web.config, or uncheck "anonymous access" in the IIS Directory Security)
  6. Configure IIS virtual folder
    • IIS Configuration Mappings (Right-click the virtual folder -> Properties -> Virtual Directory Tab -> Configuration -> Mappings Tab)
    • Add extension ".*", exec path = (copy from the ".aspx" extension)
    • Uncheck "check that the file exists"
    • Click OK (this goes without saying)
  7. Load your website in your favourite browser.
Ref: http://stackoverflow.com/questions/3883530/asp-net-mvc-2-windows-xp-and-iis-5-1

Monday, December 5, 2011

Visual Studio 2008 and Team Foundation Server 2010

Make sure to apply SP1 on your Visual Studio 2008. Install "Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010" (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=10834) Once you install this update, you can try adding Team Foundation Server 2010 as destination, but you will be greeted with error “TF31002: Unable to connect to this Team Foundation Server …”. Reason behind this is that old Team Explorer 2008 does not know anything about collections. Solution would be to add it as full path (e.g “http://server:8080/tfs/collection”). I could not do it because every time I entered full path, I also got error “TF30335: The server name cannot contain characters ‘/’ or ‘:’ …”. Since official way would not work it was time to come up with alternative. In order to add TFS 2010 server, you will need to exit Visual Studio 2008 and go into Registry editor. Find key “HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\Servers” and at this location just add string value. Name of this value will be what Team Explorer 2008 will use for display. It’s value is full address of your server. It should be something like “http://server:8080/tfs/collection”. Ref: http://www.jmedved.com/2009/11/visual-studio-2008-and-team-foundation-server-2010/

Monday, February 21, 2011

Run 32 bit DLL on 64 bit machine

If your .NET application is a website running in IIS you can circumvent it.

An ASP.NET webpage running on IIS on a 64-bit machine will be hosted by a 64-bit version of the w3wp.exe process, and if your webpage uses 32-bit dlls your site will fail.

However in IIS you can go into the Advanced Settings of the Application Pool running the site, and change "Enable 32-bit applications" to true.

So it's still not able to run 32-bit dll inside 64-bit process, but rather it is running w3wp.exe as a 32-bit process instead.

Thursday, February 17, 2011

Delete files older then X days using batch file

forfiles /p C:\Temp\Payable_05Jan\ /S /M *.* /D -1 /C "cmd /c del /q @PATH"

[check the quotation sign, this is very imp.]

Batch file not executing from Task Schedular

1) Make sure that the task is set to "configure for Windows Vista or Windows 2008" on the first page of the task properties (under the "general" tab)
2) Make sure that the task is set to "start in" the folder that contains the batch file: open the task properties, click on the "actions" tab, click on the action and then the "edit" button at the bottom. In the "Edit Action" Window there is a field for "start in (optional)" that you set to the path to the batch file.
3) Make sure that the task is running as an account that has explicit "Full access" permissions to all these things: The .bat file itself, the folder containing the .bat file, and the target files/folders that are affected by the .bat script. Inherited permissions didn't seem to work for me.
4) Make sure that the account running the task is a member of the local "administrators" group for this machine
5) Make sure that the task is set to "run whether logged on or not"
6) The Task should run successfully with expected output when you right-click on the task and select "run" If it does that then it will run successfully when you are logged off.

http://social.technet.microsoft.com/Forums/en-US/winservermanager/thread/d47d116e-10b9-44f0-9a30-7406c86c2fbe/

Wednesday, January 12, 2011

Delete branch/subfolder in TFS

You don't use tfsdeleteproject for deleting a subfolder. You can use tf.exe command
Deleting a branch in TFS
Start .Net 2005/2008 command prompt:-
Start –> All Programs –> Visual Studio 2005 –> Visual Studio Tools –> Visual Studio 2008 Command Prompt

Ensure there is a workspace set up for the branch you want to delete and that a version of the branch has been fetched from TFS onto the local disk within the folder pointed to by the workspace.

In command prompt, change directory to the parent of the branch to be deleted. For example, if my workspace at the root level points to c:\projects and I have a branch called “TestMain” beneath it (c:\projects\TestMain) then do the following:-
> cd c:\projects
Then type:-
> tf delete /lock:checkout /recursive Reliable\CRM

If there are more folders under CRM, those will be marked for deletion if you specify /recursive switch.

Next:
Now, once you have specified what you want to delete, you have to check in your pending changes, which can be done like this

tf.exe checkin /recursive "A\B"

This should checkin your pending delete change and remove the folder from the repository and local workspace.

URL's:
http://www.woodwardweb.com/vsts/000143.html
http://nomisit.wordpress.com/2007/12/06/deleting-a-branch-in-team-foundation-server/

Friday, December 24, 2010

Locking Mozilla Firefox Settings

Create a text file by the name mozilla.cfg and put it in the home folder where mozilla.exe is, put the items which needs to be blocked in this file e.g.:

//
lockPref("network.proxy.type", 5);
lockPref("browser.startup.homepage", "http://ilias.ca/");

This will set the proxy settings to "System" and default the home page to the specified url.

Now byte-shift this file with an offset of 13, this can be done at this location online (http://www.alain.knaff.lu/howto/MozillaCustomization/cgi/byteshf.cgi)

In C:\Program Files\Mozilla Firefox\greprefs\ there’s a file called all.js. Open all.js in a text editor, and add the following line at the end of it:
pref("general.config.filename", "mozilla.cfg");

Save, close and start Firefox to test it.

http://ilias.ca/blog/2005/03/locking-mozilla-firefox-settings/
http://www.alain.knaff.lu/howto/MozillaCustomization/cgi/byteshf.cgi

Wednesday, November 24, 2010

Disabling Google Talk through DNS

Best solution, namely to only define a zone with the name of the host to be blocked, in case of Google talk it will be "chatenabled.mail.google.com", in this define an A record IN A 127.0.0.1.

Friday, August 6, 2010

Team Explorer - red cross on "documents" folder

Have you added your users to the three necessary places: The Team System project, the Project Portal and the Reporting Services? Like this:

(1) Add user to appropriate project:
(1.1) Right-click project (or root project for all projects)
(1.2) Select "Team Project Settings".
(1.3) Select "Group Membership".
(1.2) Selecting the group to which you want to assign the user.
(1.4) Click the "Properties" button.
(1.5) Select the "Windows User or Group" radiobutton.
(1.6) Clicking the "Add..." button.
(1.7) Selecting the required user(s) and confirm it all.

(2) Add user to Project Portal:
(2.1) Right-click project and select "Show Project Portal".
(2.2) Click "Site Settings"
(2.3) In the "Administration" section, click "Manage Users"
(2.4) Click "Add Users"
(2.5) Fill in the list of users and follow the instructions.
Note: User names include the domain, e.g DOMAINNAME\mwatson

(3) Add user to Reporting Services:
(3.1) Right-click project and select "Show Project Portal".
(3.2) Click "Reports".
(3.3) Click "Home".
(3.4) Click "Properties".
(3.5) Click "New Role Assignment"
(3.6) Add the new user(s), select their role(s) and click OK.
Note: User names include the domain, e.g DOMAINNAME\mwatson

ref: http://social.msdn.microsoft.com/Forums/en-US/tfsadmin/thread/ffb91587-87f9-4cf6-a1dd-f10a43486de9

Thursday, July 29, 2010

SSO with ASP.NET

http://www.codeproject.com/KB/aspnet/SingleSignon.aspx

Membership setup and configuration issue

To implement Membeship API to an ASP.NET application (Framework 2.0/3.0/3.5), create the Web site in VS 2005/2008 and then click on "Website=>ASP.NET Configuration" and start the process.

If using a remote DB then need to put some settings into the Web.config before starting this wizard:

1) Add a connection string in the web.config:





2) Next, change the authentication mode to Forms:


3) For Roles add this settings:



type="System.Web.Security.SqlRoleProvider"/>




4) Add Providers details under section




type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="MyAspnetDB"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="MyApplicationName"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />



Once all these settings are in place, fire up the ASP.NET configuration tool and it will work perfectly.

http://bytes.com/topic/asp-net/answers/594723-error-provider-management-could-not-establish-connection-database

http://forums.asp.net/p/978442/1364770.aspx

Tuesday, July 13, 2010

Error Logging Modules And Handlers

A very nice utility for logging errors like Yellow screen of death and others occuring on the website. Can disable errors through web.config directive and by redirecting user to this error page.

Only need to modify the web.config and create new Tables, SP's in the SQL database and setting for SMTP for sending out emails.

http://geekswithblogs.net/joycsharp/archive/2008/02/15/simple-c-delegate-sample.aspx

Thursday, July 8, 2010

Automate sending emails from command prompt or script

You might want to use BLAT (a public domain command line mailer) instead. I like it much better than mapisend. You can download it at-http://www.interlog.com/~tcharron/blat.html or blat.net

Wednesday, July 7, 2010

VSTS 2008 Database Edition issues fix

http://blogs.msdn.com/b/gertd/archive/2008/06/03/vsts-2008-database-edition-gdr-june-ctp.aspx?wa=wsignin1.0

Apply below fix from MS after applying VS 2008 SP1 and it removes the requirement for using a local SQL instance and works perfectly fine.

http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en

Thursday, July 1, 2010

Taking an ASP.NET Site Offline with a Message

This was another one that I was literally beside myself that I didn't know this one before. A fellow business partner of mine named James Sutton mentioned this one to me. This one's been around since ASP.NET 2.0 as well. If you have an ASP.NET web application site, and you place a text file named "app_offline.htm" in the root of the site, all requests to that website will redirect to that app_offline.htm file. Basically, if you need to take an entire ASP.NET site offline, you can place some nice message in that file. Then, any new requests to a URL, any URL, in that website will redirect to that file allowing you to do maintenance to the site, upgrades, or whatever. It is not really a redirect though. ASP.NET essentially shuts down the site, unloads it from the server, and stops processing any requests to that site. That is, until you delete the app_offline.htm file - then things will continue as normal and your ASP.NET site will load up and start serving requests again.

A super-cool side effect of this is that any files that are locked by the site, such as a database or other resources, are freed since the application domain has been unloaded from the server. This allows you to remove the locks from those files and replace them, without the need to do a full IISRESET, taking down other sites on the server. One thing to keep in mind with this file however, make sure you out enough content in it so it is larger than 512 bytes or IE will consider it a 404 and will display the 404 instead of the contents of your app_offline.htm file.

http://weblogs.asp.net/pleloup/archive/2008/09/22/taking-an-asp-net-site-offline-with-a-message.aspx

Friday, June 18, 2010

Reporting Services: The permissions granted to user are insufficient for performing this operation. (rsAccessDenied)

Reporting Services error:

"The permissions granted to user are insufficient for performing this operation. (rsAccessDenied)"

Need to Grant the user group "Everyone" FULL ACCESS to C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer.

Monday, June 14, 2010

Automated backup in SQL Express

There is no inbuilt support for automated backup in SQL Express, but there is a very powerful and intuitive scrip by Jasper Smith which can do the same work through Windows Scheduler:

http://www.sqldbatips.com/showarticle.asp?ID=27