Showing posts with label Learning. Show all posts
Showing posts with label Learning. Show all posts

Wednesday, March 12, 2014

SharePoint Developer: How do I get started?

While there are many blogs and articles on different ways to get started.  The fact is that SharePoint is not just an application, it is a platform (it has all of requirements of PaaS).  One of the hurdles on getting started with SharePoint development is how do I write a Hello World! right?

question-markAs it turns out, just writing a hello world is not very complicated. If you are just starting up your career as a SharePoint developer, remember: It is not about writing the code, but WHERE do you write that code and WHERE do you execute that code that’s important (REST vs CSOM).

Before you can write your first Hello World, you will need to setup your SharePoint dev environment. One question that I get asked frequently is which version of SharePoint do I need? As of this writing there are 4 SKU for SharePoint 2013 (Foundation, Standard, Enterprise, O365) and 3 SKU for SharePoint 2010(Foundation, Standard,Enterprise).  Also there are many more versions of Visual studio (2010,2012,2013) [Express|Standard|Professional|Ultimate], and not to mention many versions of SQL server (2008, 2008R2, 2012, 2012R2). On top of that, the OS required makes an impact on your decision.  One of the best guides to get your dev environment setup correctly is from Andrew Connell –> SP2013 Setup Guide for Developers  However, following these steps will take some time.  If you are a web developer, be prepared to learn about PowerShell, Active Directory Services, DNS, Claims authentication.  Also, you will be force to learn more Admin stuff that you would want to know, From creating web apps to creating site collections, setting up managed service accounts, creating web apps for provider-hosted/auto-hosted apps, etc.

Fortunately for us, Brian  Keller has taken the time to do all of these steps and put together a virtual machine that is configured and ready to go.http://blogs.msdn.com/b/briankel/archive/2013/04/12/team-foundation-server-2012-and-project-server-2013-integration-virtual-machine-and-hands-on-labs-demo-scripts.aspx

The virtual machine contains the following pre-configured software:  (<--note:  pre-configured !!)

  1. Windows Server 2008 R2 Enterprise Evaluation Edition x64, running as an Active Directory Domain Controller for the “CONTOSO.COM” domain with DNS and WINS.
  2. Microsoft SQL Server 2008 R2 Enterprise Edition with Analysis, Notification, and Reporting Services.
  3. Visual Studio 2012 Ultimate Update 1
  4. Microsoft SharePoint Server 2013 Enterprise Edition
  5. Microsoft Project Server 2013
  6. Microsoft Office Professional Plus 2013 (32-bit)
  7. Microsoft Visio 2013
  8. Microsoft Project 2013
  9. Microsoft Team Foundation Server 2012 Update 1
  10. Team Foundation Server Extensions for Project Server

Notice the bold items:  Visual Studio, SharePoint 2013 and SQL Server all ready and waiting for you to write your first hello world.!!

now, http://www.bing-vs-google.com a Hello World! (or follow this one Hello World… :) 

welcomeFuturama

 

 

Welcome to the World of Tomorrow SharePoint Development…

Monday, July 22, 2013

RT 8.1 update–Windows Store not working with multiple profiles

Now that I have take the plunge and update to the 8.1 preview, I have been showing all of the features of the 8.1.  Logging as a different user takes a while.  It needs to apply all of the updates to the new profile.

However, whenever you try to access the store with this profile, an error message shows up: “We weren't able to connect to the Store. This might have happened because of a server problem or the network connection time out. Please wait a few minutes and try again.”

image

Looking everywhere on the web, I’ve followed this article and download and install this app from Microsoft. After a reboot, it still didn’t  work.  Went to the PC Settings and perform a windows update.  It said that it found some fixes, applied them, reboot.  Still the market place is not working.

I’ve noticed that there is a message when you open the store. However, it quickly gets hidden by the error message.  The message is something about your account. Sign in with a Microsoft Account. Weird, since this account was working properly prior to the update to 8.1. 

Fix:  Click on PC Settings, Accounts, Your Account.  You will see the that it is now requiring to verify this account.

Solution

Once you click the Verify, it will ask you to type your password,

nextStep

Type in your password, and you will be all set.  Now, go back to the Windows Store and it will work.

Note: you will need to do this step to every user profile you have on the RT

Wednesday, September 15, 2010

Doing the right thing

It’s been almost 2 months since I have left the independent life to become a full time employee.  I have found a small consulting company that shares most of the personal goals that I have in mind.  This company name is Halcyon. The main message is “to seek happiness for our customers and employees”.

Before entering into negotiations with them, I thought they were just another consulting company.  However, after meeting with the owner of the company and see his passion for charity work I’ve change my mind.

image It is very refreshing to find a company with such high ideals. While most companies I have come in contact with, have a few individuals that are very dedicated to help others, this company is different.  We are obligated encouraged to do community service.  As a good citizen, you are to do the right thing for others.  You know that, and I know that. But, when that command comes from the owner of the company, it trickles down to the all of the employees, and you can feel the effect.

Of course there are other perks like YOGA classes every other week. (which I have yet to attend one… ;)  So, in short, Halcyon is trying to bring a balance between your work and your personal life.  The fulfillment that comes from helping others is very different than the one you get when you get your paycheck.

Mohan latest project is to help integrate war veterans back into IT. Not just office work training, but actual programming training.!  I am just happy to be a part of this initiate of giving back to those that put their lives in danger for us. If all of us took the time to do a good deed every day, the world would be a different place…

Another aspect that I enjoy is the dogfood.  We are not only preaching SharePoint, but our CEO firmly believe in this technology.  We have BPOS as the technology for our intranet connecting both of our offices (US, India).  Also our website is built on SharePoint (soon to be SharePoint 2010).  Find out if your company uses SharePoint or just claiming to use SharePoint how to tell if a site is running SharePoint?

In all I am excited to start a new phase in my life and in my professional career.

Sunday, July 25, 2010

Using Excel as a Source for your Data Generation Plan in Visual Studio 2010

I like to use DataDude for almost anything related to SQL Server.  I use the data generation feature quite a lot.  Most of the times, I am happy with the string randomly(RegEx) created by it.  However, I encounter a situation in which I needed the random source to be in a group while still preserving the randomness of the wizard.

Of course, I could have created a SQL server temp table and use that as my sequential data bound field. However, I wanted to try to see if I could use a different source.

I’ve created a simple CSV with 3 columns, that I’ll use to populate my SQL server project.

image

Notice the name of the columns, and also the name of the worksheet.  You will need those for later.

Assuming your SQL Server Database has a table named CommtDefn.

image

Import the schema into a SQL server project in Visual Studio 2010. After you have imported your schema in your solution, you would be ready to populate this table with data. 

First step, is to add a new data generation plan, then select the table CommtDefn and, select the first column.

Your Data Generation plan would initially look like this

image

Select the first column and choose the Sequential data bound generator option.

image

Under the properties window, select <Add new connection..>

image

then on the Data source screen, select <other>.  For the data provider, use the ODBC provider, and not the OLE DB Provider as instructed in MSDN.  Now click Continue

image

On the connection properties, select the Use Connection string. NOTE: the trick in here is to specify the type of connection we are going to use

image

So in this box type the following:

Dsn=Excel Files

Now, click the build button. A dialog box will pop up asking you to select the Data Source, click OK to dismiss this dialog box. This action will bring another dialog box where you can specify the actual excel file you want to use.!!

image

Select your Excel worksheet, and then click OK.  The Use Connection string field is populate with the proper connection string:

Dsn=Excel Files;dbq=C:\vsProjects\2010\PowerShell.SQL\PowerShell.SQL\Excel CSV\Committees.xlsx;defaultdir=C:\vsProjects\2010\PowerShell.SQL\PowerShell.SQL\Excel CSV;driverid=1046;maxbuffersize=2048;pagetimeout=5

Click on the Test Connection button, make sure it is successful. Click OK twice to close all dialog boxes.

Go back to your Properties window and write the following query

SELECT * FROM [CommitteesDefinitions$]

In here, don’t forget to enclose the name of the worksheet in parenthesis and also you need to add the “$” at the end of it.

Your screen should now look like this

image

Now if you go back to the data generation screen, you will see that the Generator Output column has been populated with the columns extracted from the Excel worksheet.!!

image

* BTW, there is a MSDN article on how to generate data from an excel spreadsheet, but after following those instructions I could not get that to work with VS2010 data generated plans.

Tuesday, June 29, 2010

How to remove SQL Mirroring from MOSS 2007

So mirroring technology with SharePoint 2007 does not seem to be working as expected. As a consequence, the decision to remove it from our production servers was made.

I have been trying to remove the mirroring from the SQL Serve 2008 R2, and it still shows the Mirror Databases on the secondary server.  Worse, the status does not change, it is still showing as (Restoring).

image

from the MSDN, this is supposed to be an easy step: ms189112 but it is not.!

As you can see, my SQL1 server has the actual databases, while SQL2 is supposed to have the mirrors of SQL1.

A quick search on the internet turned nothing to the (Restoring…) status message.  Connecting to the second SQL Server and trying to delete the database were encountered with failure.

TITLE: Microsoft SQL Server Management Studio
------------------------------

Alter failed for Database 'SPSProd_Main_Search'.  (Microsoft.SqlServer.Smo)

For help, click: Some useless article on MSDN

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

ALTER DATABASE is not permitted while a database is in the Restoring state.
ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 5052)

  Then I went into the query editor and ran the

DROP DATABASE <databasename> from the master databases. It worked.!

image 


Command(s) completed successfully.!  :)

Wednesday, May 14, 2008

Distinguished fields of type xs:dateTime not Working on Orchestrations

Writing a spyke for a simple program, I came out with this odd behavior when I try to compile my BizTalk project.

image

I have created a simple schema, and in one of the fields I have field of type xs:dateTime. Well, when I have tried to use this field on an expression shape, I get this build compiler error:

'System.Xml.XmlDocument' does not contain a definition for 'XXXX'

where XXXX is the field name of the element that I have declared as a xs:dateTime type. I then went and set it up as a distinguished field. Here is a sample generated xml from my test schema:

  1. <ns0:Customer xmlns:ns0="http://DistingProperty.Test.Customer.v1">
    <FName>FName_0</FName>
    <DOB_datetime>1999-05-31T13:20:00.000-05:00</DOB_datetime>
    <DOB_date>1999-05-31</DOB_date>
    </ns0:Customer>

and this is the schema that I have used


image

When I am trying to use the distinguished field inside an expression shape, noticed that I get the Visual Studio IntelliSense:

image

When you try to read this value, it will always complain about the XmlDocument not being able to find the definition for the field that is defined as DateTime.

To get around this, you should use the System.Convert.ToString() instead of the .ToString() function;


1 Trace.WriteLine(" bad:[" + msgIN.DOB_datetime.ToString() + "]");

2 Trace.WriteLine("good:[" + System.Convert.ToString(msgIN.DOB_datetime) + "]");



Another lengthy way to get around this issue is to assign the distinguish field to an xmlNode and then use the xml Namespace Manager to get to the node value instead.

The code on my expression shape looks like this:


1 System.Diagnostics.Trace.WriteLine("bts- In here");

2

3 //assign values to person

4 xDoc = msgIN;

5

6 xmlnsMgr = new System.Xml.XmlNamespaceManager(xDoc.NameTable);

7 xmlnsMgr.AddNamespace("ns0", "http://DistingProperty.Test.Customer.v1");

8

9 xNode = xDoc.SelectSingleNode("/ns0:Customer/DOB_datetime", xmlnsMgr);

10 System.Diagnostics.Trace.WriteLine("bts-[" + xNode.OuterXml + "]");

11

12 xNode = xDoc.SelectSingleNode("/ns0:Customer/DOB_date", xmlnsMgr);

13 System.Diagnostics.Trace.WriteLine("bts-[" + xNode.OuterXml + "]");

14

15 //this works as expected

16 System.Diagnostics.Trace.WriteLine("bts- " + msgIN.FName);

17


Which ever way you choose, this looks like a limitation on the way the XLANG/s in the Expression shape interprets the command code.

Tuesday, April 15, 2008

VPC 2007 not running on Virtual Server 2005 R2

I have been trying to port a VPC 2007 to run on our Virtual Server 2005 R2 with no success. This is the error I am getting:

Virtual Machine
The "Virtual Hardware Standard" (Virtual PC 2007) in the configuration .vmc file for "XXX Server" was not created by Virtual Server. "XXX Server" can start, but some settings may be changed and some settings may not be used.

other errors that I am getting:

Virtual Server
The virtual machine “XXX Server” could not be started. An unexpected error occurred.

Virtual Machine
"XXX Server" could not be started because a disk-related error occurred.

I am still not sure as to what the error is. So I ran the Inspect and also the compact utility on the hard drive hoping that this action might *magically* fixed this issue.

Virtual Server 2005 R2 Pending Actions

I get the message that it did succeed compacting:

Virtual Disk Operation
The virtual hard disk "E:\Virtual Machines\XXXServer\BaseWin2K3 Hard Disk.vhd" was compacted.

However, I still get the unexpected error message. At this point, I decided to merge the diff disk with the parent and then keep a single file. Clicking on the Merge virtual hard disk link yielded this:

Virtual Server 2005 R2 Merging Disk

After this is done, I get this message:

The parent virtual hard disk appears to have been modified without using the differencing virtual hard disk located at "E:\Virtual Machines\XXXServer\W2K3 Diff.vhd". Modifying the parent virtual hard disk may result in data corruption. It is strongly recommended that you lock the parent virtual hard disk to prevent this in the future. If you recently changed time zones on your computer, you can safely continue using this virtual hard disk.

So, I decided to create a new virtual machine. First step, I deleted the VMC file. Then create a new Virtual Machine with no Virtual Hard Disk defined.

Attach a virtual hard disk later (None)

After that was done, clicked on the Configurations for that new Virtual Server, then clicked on the Virtual Hard Disk properties, and added the Virtual Hard Drive that was merged earlier:

Virtual Server 2005 R2 - add existing VHD

Started the New Virtual machine, and PRESTO..!! it's alive [muahh, muahh, muahh] and it has all of my latest changes into it.

Wednesday, April 02, 2008

MOCSDG: Mid Ohio Connected System Developer's Group - OSLO

Yeah, the first meeting of this group will be kicked off this Thrusday.!! Don't miss it. If you want to be on the mailing list, email Monish and he will add you to the list. The meeting will be held at the Microsoft Office in Columbus, OH.

This first meeting, is going to be started with a presentation from Delbert Murphy. He is one out of 90 MCA's that holds this certification. He is the only Certified Architect in both Microsoft .NET and Java that I have met. So this is a good opportunity to meet him (even if you DONT believe in Certifications... blog post coming....;)

He will be talking about OSLO, which is not just the next version of BizTalk, but the next generation of a unified platform for integrating applications and services. (lots of buzzwords... ;) This is all part of the Connected Systems Division at Microsoft and I believe these set of technologies that Microsoft is working on will have everything including the kitchen sink!! Elkay Mystic Kitchen sink Don't believe me?

... the technology to deliver these capabilities will be delivered through BizTalk Server "V6", System Center "V5", Visual Studio "V10", BizTalk Services "V1" and .NET Framework "V4". The code name for this effort is "Oslo"...[read whole article]

  1. Visual Studio v.10
  2. System Center v.5
  3. Biztalk Services v.1
  4. .NET framework v4.0
  5. Biztalk Server v.6

and that is very powerful.! And if you are a Challenge Junkie like Brian said, then OSLO will give you something to get excited about.

Friday, February 29, 2008

Grok talk on Business Rule Engine Essentials

I have presented a grok on BRE essentials tonight at our monthly Solutions Group meeting.  The main focus on my presentation was to give a quick glance at what is available to developers when they enter the realm of BizTalk.  Some smart guy once said that knowing what's available out there is half the battle.

Anyways, the main points of my talk was to show how you can interface with the BRE (from BRE to .NET, and from .NET to BRE).  I have found the BizTalk rules engine to be very efficient and fast.  In the last project we have, we had over 450+ policies, and each policy had an average of about 5-7 rules on each of them.  On top of that I had an orchestration that call the vocabularies, determine the policy that needed to be executed, and then execute that policy.  The time for all of this to happen, is between 1-2 seconds from the time the message enter BizTalk to the time it gets send back to the calling routine.

How do you show this much functionality in 20 minutes or less?  Well, I came out with this fictitious company that had the following requirements:

image

The first thing that you do in BizTalk is that you need to define the schemas that will contain the inputs and output of the message that you are dealing with.  So a simple schema:

image

Next, I have implemented those rules in the BRE composer

image

So now that I have the rules implemented, we need to get a way to call them and executed them.  Here is the sample solution code that will call this policy.

I have also included some code that shows how to call the vocabulary.  And some code to show how to implement a .NET assembly that can be called from the BRE.

image 

 

Feedback [good|bad] is always welcome.  Hope this help someone get a small peek into the vast universe of BizTalk.

Thursday, February 07, 2008

Data Dude for Studio 2008?

Does DataDude works for Visual Studio 2008?  The answer can be found on this blog post by Gertd:

visual-studio-team-system-2008-database-edition.aspx

Awesome, so it is time to create a new DB project.

SQL Server 2005 project

I get this dialog box:

Connection to Local Express Instance

going back. I have followed the instructions and set my options to use my SQL server instance:

Tools - Options - Database Tools

and my data connections is set to my local instance as well

Tools - Options - Database Tools

since I don't have SQLExpress running, I decided to follow the instructions on it. I click CANCEL on the previous dialog box, and I get this error:

Remote Server Connection

---------------------------
Microsoft Visual Studio
---------------------------
An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

I remember this error from before.  I has something to do with having the SQL Server Browser running for it to find it.

image

I go and turn this service on. I usually have ALL services stopped and I only run the services on demand when I need to use them. Yes, I do have lots of batch files that the only thing they do is to start/stop services... :D

humm. I still getting the error about not being able to connect.

I wonder if this has anything to do with the fact that I am running the 64-bit version of SQL server? Just for kicks, I delete the name of my instance on the tools-Options

Tools - Options - Database tools

BINGO.  It works like a charm.  I went back and turn that SQL Server Browser service off.  It still works... :D [one more service that I don't need to run.!]

My environment is Vista  Enterprise 64-bit, SQL Server Developer Edition 64-bit, BizTalk 2006-R2, Visual Studio Team Suite 2008.  I don't know if this has anything to do with it, but by leaving the instance name blank, Studio 2008 was able to connect to my local SQL Server instance.

 

oh well.

Sunday, January 20, 2008

Agile methodologies and Spelling bee?

Yes, I am the proud father of a little walking dictionary. My oldest son qualified to be part of the team that might be representing his school to compete against other schools for the Scripps National Spelling Bee Competition. Now, how do you study those 870+ words needed for the competition with a 11-year-old whose parent's first language is not English?...

Geek time.! I have an old iPaq 5555 that is pretty much sitting collecting dust. So I decided to write a program that will allow him to practice those words. A pocketPC seems to be the perfect platform for it, since it has built-in support for hand-writing and sound. So it is like having an interactive flash card.

My idea is to have the word being pronounced by a native speaker, and then have him write the word. This is my first take on this idea:

image

I also put a show button for studying/reviewing. So that as he moves around the list of words, not only he can click on the PLAY button and hear it, but he will be able to see: language, definition, sample use.

One of the trickiest part of the program was getting it to play those wave files.! Yeah. My Google skills are either fading out, or there was not that many people writing media applications for the pocketPC. :( I have to admit it took me longer that I expected to find the right information.

Here is the link to MSDN to the article that I use http://msdn2.microsoft.com/en-us/library/ms229685.aspx

Basically, it uses the CoreDll.dll library to accomplish this

[DllImport("CoreDll.DLL", EntryPoint="PlaySound", SetLastError=true)]
private extern static int WCE_PlaySound(string szSound, IntPtr hMod, int flags);

In true agile fashion, I have written the alpha 1.0 and tested it with my *end user*. Feedback is always good when you are writing an application with so little requirements. This version 1.0 is very crude, but it accomplishes the primary objective. Now while he is *testing* the first iteration of the application, I am working on features for the 2nd iteration.


Then I have shown the program to the PM of the Wing's house(aka. Wifey), and now my feature list has grown by 2x, and of course my deadline is still the same... :'(


I have put this program on Codeplex/FlashBee. It is more of a rough 6hr-POC. The cool thing is that he and me sat down and wrote the application together (not all 6hrs). Anybody said pair programming? ;)

Thursday, December 13, 2007

COM Interop with .NET 2.0

For the month of December I am working on this small project (3-weeks) involving making some information available to end users through a mobile device. Yeah, that's cool. However, the code that grabs the information from the backend was all written in good old VB6 and classic ASP.

I am running into this one issue that is driving me nuts. I am trying to assign a class object to a property in the COM object. While it works for some properties/methods, it does not seem to be working for some other.


VB6 code that works:
[
    1 Private mAuthor As clsSomething
    2 Private mAuthorID As Long
    3 
    4 Public Property Get Author_ClassParam() As clsSomething
    5     On Error GoTo handleError
    6 
    7     If mAuthor Is Nothing Then
    8         If mObjectID = 0 Then
    9             Err.Raise 111, , "xxx item not initialized"
   10         End If
   11 
   12         Set mAuthor = New clsSomething
   13         [--- deleted stuff---]
   14 
   15     End If
   16     Set Author = mAuthor
   17     Exit Property
   18 
   19 handleError:
   20     mError.Raise Err.number, "[xxxxHistoryItem]" & Err.Description, False
   21     Set Author = Nothing
   22 End Property
   23 
   24 Public Property Set Author_ClassParam(ByVal value As clsSomething)
   25     Set mAuthor = value
   26 End Property
]

VB6 code that does not works:
[
    1 Private mAuthor As clsSomething
    2 Private mAuthorID As Long
    3 
    4 Public Property Get Author_VariantParam() As clsSomething
    5     On Error GoTo handleError
    6 
    7     If mAuthor Is Nothing Then
    8         If mObjectID = 0 Then
    9             Err.Raise 111, , "xxx item not initialized"
   10         End If
   11 
   12         Set mAuthor = New clsSomething
   13         [--- deleted stuff---]
   14 
   15     End If
   16     Set Author = mAuthor
   17     Exit Property
   18 
   19 handleError:
   20     mError.Raise Err.number, "[xxxxHistoryItem]" & Err.Description, False
   21     Set Author = Nothing
   22 End Property
   23 
   24 Public Property Set Author_VariantParam(ByVal value As Variant)
   25     Set mAuthor = value
   26 End Property
]


this is the .NET code that calls that VB6 COM object:
[
    1 public void ClassAssignment_COM()
    2 {
    3     clsSomething oAuthor = new clsSomething();
    4     oAuthor.AuthorID = 15;
    5 
    6     clsTransaction oTrnx = new clsTransaction();
    7     oTrnx.Author_ClassParam = oAuthor;
    8     Trace.WriteLine(String.Format("bts- ClassParam.AuthorID: [{0}]", oTrnx.Author_ClassParam.AuthorID));
    9 }
   10 
   11 public void VariantAssignment_COM()
   12 {
   13     clsSomething oAuthor = new clsSomething();
   14     oAuthor.AuthorID = 15;
   15 
   16     clsTransaction oTrnx = new clsTransaction();
   17     oTrnx.Author_VariantParam = oAuthor;
   18     Trace.WriteLine(String.Format("bts- VariantParam.AuthorID: [{0}]", oTrnx.Author_VariantParam.AuthorID));
   19 }
]

I get this error message at compile time:
Error 3 Property, indexer, or event 'Author_VariantParam' is not supported by the language; try directly calling accessor methods 'xxxx._clsTransaction.get_Author_VariantParam' or 'xxxx._clsTransaction.set_Author_VariantParam(object)'
C:\vsProjects\Tests\mock.cs 168 27 xxxx.yyyApplication.Web.Test


I have not found a solution to this problem. I know that variants are not supported in .NET, but com'on, there's got to be someone out there that knows a workaround this issue...

Wednesday, November 21, 2007

How to edit rich text in SharePoint 2007 forms

Since I have been using Window Live Writer, I have not had the need to write all of that html code (what is HTML?). I edit using Live Writer, and then I switch to HTML view, copy and paste the formatted text into the SharePoint text box. I thought it was weird that Microsoft will only give a blank text box and you need to go and figure out all of the markup tags.



Then I saw on this other developer screen that his text boxes look a lot different from mine..!!



Clicking on the
Click for help about adding HTML formatting.
just take you to the normal help, nothing useful there.

Well, I found out that it was just another x64 vs x32 bit kind of deal. Since moving to the 64bit bandwagon, I almost exclusively use Internet Explorer (64 bit). It is a great way to get to the Microsoft sites without being bogged down by all of the flash advertisement (oh yeah, those flash do not work on 64bit... ;)

However, there is a whole new world out there if you use the 32bit version of Internet Explorer.!!

yikes.

Friday, November 16, 2007

How to install assembly to GAC on build event

I keep forgetting this line, and end up having to dig it out from other projects. I am putting it in here so that I can access it faster.

Basically, every time you build/rebuild your .NET assembly, it needs to be in the GAC for BizTalk to be able to use it. So, I put this code on the Build Events to move the assembly to the GAC.


"C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /i $(TargetFileName)
there. Now I won't forget.

Wednesday, October 24, 2007

Evaluation Period has expired

I have run into this issue today. I was trying to update some business rules on a client's computer. They have a SQL and a separate BizTalk environment. So I have tried opening the SQL Management Studio from the BizTalk box, and I got this dialog box:


it says:
Evaluation period has expired. For information on how to upgrade your evaluation software please go to http://www.microsoft.com/sql/howtobuy
which of course takes you to a Microsoft Page not found. ;)

Apparently, they had installed the evaluation trial version of SQL Server 2005 client tools. BTW, this was never an issue with SQL Server 2000. If you went and installed the client tools, they did not expire.!

I put the Enterprise SKU binaries for SQL Server 2005, and ran the Setup.exe from the tools directory, and then I got this information:



clicking on the messages details, it mentions this:
- Edition Change Check (Warning)
Messages
  • Edition Change Check
  • To change an existing instance of Microsoft SQL Server 2005 to a different edition of SQL Server 2005, you must run SQL Server 2005 Setup from the command prompt and include the SKUUPGRADE=1 parameter.


FYI, you will need to run the setup.exe that is located in the SERVERS folder and not on the tools folder. Bring up a command prompt window and execute the
cmd> SETUP.exe SKUUPGRADE=1
then after running through the wizard, it will upgrade your SQL Management version to not be the trial version.



ahhh, that's much better.!

Monday, October 08, 2007

C# Generated code from Biztalk Orchestrations

Sometimes you get some odd error messages on your Orchestrations. And it gives you the line number where the error is occurring. To get to the source code generated from the XLang when it is creating the C# code, you can use this is old trick from the 2004 days.

It is still valid in Vista x64 and Biztalk 2006. :D

Open your registry and look for the following hive:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0
now create a key named BiztalkProject

under this key, add a DWORD named GenerateCSFiles. Set the value to 1.




Now, close all instances of Visual Studio. Open a new instance of Visual Studio and create a Biztalk project


Build it. After it built, click on Show All Files:


Bingo, you will see the C# code:

Wednesday, September 26, 2007

BizTalkDTADb (Suspect)

While trying to undeploy a Biztalk BRE Policy, I had this error:
Error inserting tracking information for ruleset "Final_WI_EmpMedical_HospitalCare" version 1.0 into the tracking database: Error encountered while connecting to database: "Initial Catalog=BizTalkDTADb;Data Source=xxxxx;Integrated Security=SSPI;"
Looking at the Management Studio, I soon discover that the tracking database was marked as suspect.



a quick google for it, turn out some instructions to get the DB out of the suspect state. I have tried most of them (reset status, emergency mode, detach data files, DBCC with data loss, etc.)



However, nothing seems to be able to get this database out of that status. The Sql configuration manager was taking a long time to execute a refresh. I have tried to shut down the SQL Agent service, and it was not allowing me to stop it.

Then I decided to check on the System event log and I found this entry in there:
The driver detected a controller error on \Device\Harddisk0.
hummmm... Nothing else seems to be wrong. Then the BiztalkMsgboxDb went into suspect mode as well.

I went ahead and reboot this server. However, it did not come back and it was giving me the gray screen on the Virtual Server Manager. Running out of time, and being pressure to get this machine up and running, I hit the PANIC button and undo all changes (Turn Off Virtual Machine and Discard Undo Disks)



Now the machine is back and running fine. I have started deploying all of my artifacts and BRE's to it. Then I noticed than on the other VPC's I have the same message on the system event log.

Jim Holmes pointed out that I should be looking at the Host Event Log instead, and yes, there it was:
The volume "E" only has 0 MB of space left. The virtual hard disk "E:\Virtual Machines\bztXXXXX\VirtualPCUndo_biztalkXXXXX_0_0_0_14495508212007.vud" associated with the virtual machine "biztalkXXXXX" has been expanded, and very little space remains. The virtual machine will be paused.
It would have been nice to see this error somewhere else, but I guess I have learned to not hit the PANIC button to soon and start thinking outside the box.

Like BLindman says "...the error in front of you might just be the symptom of a bigger issue..."

I am wiser now.