Mike H. - Another Geek In Need...

WebLog

  Home  |   Contact  |   Syndication    |   Login
  64 Posts | 6 Stories | 423 Comments | 287 Trackbacks

News

Archives

Post Categories

Image Galleries

Development

Favorite Blogs

Hosting

User Groups

Tuesday, September 22, 2009 #

Microsoft Office SharePoint Server (MOSS) 2007 EXAMS / Windows SharePoint Services (WSS) V3 EXAMS

ADMINISTRATORS

I thought I had posted these once before. If you have 1 to 2 years of MOSS/WSS administrative experience, you should – at a minimum – have the two (2) following exams under your belt:

  • MCTS 70-631 – Office SharePoint Server 2007, Configuring
  • MCTS 70-630 – Windows SharePoint Services 3.0, Configuring

 

DEVELOPERS

If you are a seasoned .Net developer, very solid in the .Net 2.x Framework and you have 1 to 2 years experience developing solutions in MOSS or WSS, you should have the following exams under your belt:

  • MCTS 70-541 – Microsoft Windows SharePoint Services 3.0 – Application Development
  • MCTS 70-542 – Microsoft Office SharePoint Server 2007 – Application Development

During the past year, these on your repertoire are becoming more and more a requirement.

Hope this helps…


Saturday, August 01, 2009 #

DotNetNuke 5.x – What happen to Forums and FAQ and other Modules?

If you’re new to DNN 5.x and you’re very familiar with DNN 4.x or 3.x – you’ll notice some distinct changes, and not all of them are intuitive at all.

Take the Forums and FAQ modules. Where are they?

In DNN 5.x – Sign in as HOST.

Under Host—>(select) Extensions

Scroll this all the way down and click on Install Available Extensions

Now you’ll see the list you’re probably more familiar with – and you can select the modules you’re looking for.

NOTE: If you log into www.dotnetnuke.com and click downloads – you can also find the latest Projects for many of the modules, including much newer ones for DNN 5.x

Hope that helps another newbie to DNN 5.x.


Deleted User Login Control or Changed Login and Delete Page in DotNetNuke and cannot login

 

During a recent reconfiguration of a client’s site – we encountered this.

Our situation was this: We created a Sign-In page – and under Admin—>Settings – we set the login to use this page. We do this frequently when we stand up a site on a static IP that needs SSL.

At some point later, the Account Login control gets deleted – and regardless of why – it does – and our Sign-In page renders a blank login.

First thoughts are to try to navigate and force the login control using

 

www.mysitename.com/default.aspx?ctl=login

 

However, this fails because we setup the login to redirect to our custom Sign-In page.

Thank you very much to John Mitchell’s post and fix for this. NOTE: This works in DNN 4.9 – we do not know about later versions.

Hopefully this will help others out there that shoot their foot off periodically :)


Sunday, June 21, 2009 #

Microsoft Online Services – Online is not always Online

As a software engineer for a small Microsoft Partner – I have had a blast working with the enterprise technologies – especially since the release of the beta bits of MOSS 2007.

The firm I work for is also a Microsoft Hosted Services Partner, and we host key technologies like Exchange, MOSS, Dynamics CRM, SQL Server and the latest craze – the Business Productivity Suite. The following is a blurb from the MSFT Help About BPS Online:

The Business Productivity Online Standard Suite is a set of Microsoft hosted messaging and collaboration solutions including Microsoft Exchange Online, Microsoft SharePoint Online, Microsoft Office Live Meeting, and Microsoft Office Communications Online.

As a services corporation – I will be the first to tell you – this is an excellent offering, and I consider it a Flagship of online hosted services from the software giant.

HOWEVER… You have to love that part – HOWEVER…

I had the recent opportunity to experience the Microsoft flavor of this service – versus a partner’s similar offering of the hosted services.

Microsoft has scheduled maintenance programs – ones that literally take your Business Productivity Suite Standard hosting OFFLINE for 3+ hours – on a Friday evening. I found this not a little fascinating.

The clients that we (our company) provides hosted services to – well, a 3 hour window of maintenance downtime would pretty much run off the lion’s share of our business.

A lesson learned – not all things Online – are Online.

As you consider the suite of Microsoft Online (keyword, Online) hosted services – keep in mind – you are subject to that same unexpected downtime. I’m a bit perplexed that they do not shift services to one server farm or another during any maintenance plans. They did not – they literally took the online services OFFLINE for 3+ hours on a busy Friday night.

So… as you consider hosting options and hosting providers – keep in mind – even the biggest – is not the best.


Wednesday, April 01, 2009 #

If it is to be, It is up to me – Michael J. Hamilton, Sr. – Pay it forward

I was recently presented with the following statement:

If you would change the world, then you must be the way you want the world to be (Gandhi)…

On a beautiful sunny day – July 9th. – I was struck with the most extraordinary and unusual news I could possibly be struck with in my life: Mr. Hamilton, the biopsy and path reports, and CAT scans indicate that you actually have stage four (4) colorectal cancer… Mr. Hamilton… Based solely on what we know – you probably have 3 to 6 months to live… We recommend the following treatment options…

And the oncologist ran on... It blew my mind! I am at my prime! In my job, physically, mentally – things were gong fantastic! I was running 5 miles a day, I was carrying the load of 3 men, launching a corporation that would become more than I could possibly imagine. I had no physical maladies. Everything was actually better than I could describe. You probably have 3 to 6 months to live…

The TNM counts were off the charts; surgery was immediate. There was no other option – or was there?

Many months later… My strength stable, my attitude solid, my focus sharp as it could be – I find myself about to launch on one of the largest solution development projects in this country and I was in front of the woman that very well may be the next governor of our State. She had a simple statement for me: If you could change the world, then you must be the way you want the world to be…

I have lived a life beyond blessing – seeing and experiencing what few men would dream of. My time on this earth has been more blessed than having 10 children; more blessed than having a best friend of 29 years now; more blessed than all of the adversity that one could face – my blessings overcome all of these. And I am mindful of one thing.

Notwithstanding the love of my family – not selling short the time I want to be with my children – simply quantifying what I feel – I wanted to take a moment and thank the community for the support and encouragement I have received. I am in no wise worthy of the many blessings I have received. And I am grateful.

 

Thank you…

Michael…

March, 2009


Monday, February 16, 2009 #

How to Disable Touchpad - Compaq 6735s Notebook w/Synaptics Touchpad - Windows Vista Ultimate x64.

Like many of us - when I pick up a new notebook - one of the first things I want to know how to do is to disable to onboard touch pad/buttons - when I plug in a wireless or wired external mouse.

The Compaq 6735s is a new, lightweight AMD dual core 64 bit system that handles 8GB of RAM and sports a 250GB SATA drive. I found a great deal on this through TigerDirect...

The Compaq uses the Synaptics Pointing Device drivers for the onboard mouse pad and buttons. Be sure to check the HP Support-->Download Drivers/Software section to get the latest drivers for your unit. Dell and IBM notebooks are similar and their support sites should provide the latest download for the Synaptics driver for you - or whatever onboard touch pad driver you need.

NOTE: There does not appear to be any configuration in the BIOS or other firmware setup of this notebook to do this. In my Dell D830 Latitude - there is a BIOS setting that will disable the touch pad altogether, or you can do it using the support drivers that ship with the notebook.

Synaptics Options: Once the Synaptics drivers are installed - a system tray icon appears in the lower-right and you can open the Synaptics properties dialog. The only means of all BUT disabling this touch pad that I could find is to set the Sensitivity-->PalmCheck to MAXIMUM and the Touch Sensitivity to HEAVY. This should eliminate MOST of the erratic jumps of the cursor when you have your palms resting on the unit and typing.

I found some links Googling this - but nothing that really helped - and I'm not sure this will work for everyone - but thought I'd post it.

Any other insight / comments are always welcome.

Thanks...


Saturday, October 06, 2007 #

I have been more than busy and apologize for not being as active in the blog community as I'd like to be.

Also, I'm moving my blogs to www.msftliveblogs.com/mhamilton - and hopefully I'll be able to keep up.

I'm still working on the MOSS and WSS sandbox demos for the Agency - which we hope to launch frist quarter' 08


Sunday, April 29, 2007 #

As a developer, one of the first things I did to my notebook (running Vista) is disable the UAC - I can't stand it - it keeps me from installing things like Virtual Server (which is not supported on Vista - but works perfectly fine), and is basically something I'm not worried about.

Until I want to add a printer that is a network resource on my LAN. I get the error that the printer cannot be added - "The specified print monitor is unknown."

Very informative - I know.

Well, believe it or not - this occurred because I set the value for the UAC to zero - or basically disabled it. The issue pops up because the network printer resource MUST install a driver on your local workstation - and if UAC is turned off, by default - MSFT has written into this - DO NOT install any foreign device - period.

To resolve - I open the registry HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System and set EnableLUA to a value of ONE "1" - reboot - and the printer adds just fine.

The question I'm sure you're asking yourself... "Do I have to leave UAC enabled???" - NO NO NO - and that's the nice part.

So, re-enable UAC - add the printer - disable UAC - and enjoy.

Hopefully this helps some other unsuspecting Vista lover...


Sunday, April 15, 2007 #

Many of us have probably dabbled in setting up our own domain and forest for development purposes. For me - a domain is a must - I have my development environment that is heavily used to model development projects for clents - and I have my family - me, my wife, and 7 children with their own computers.

So, we have a fairly detailed setup on the home front - but the following applies to ANY environment in which your primary domain controller gives up the ghost - and you do not have an image backup of the PDC.

Foremost - clarity: In an Active Directory forest, where you have several domain controllers, but one primary domain controller (PDC) - you may think that you must RESTORE or recover this PDC to salvage the domain. In other words, if the PDC fails - is all lost? Nope, not at all. Unless you do not have backup domain controllers. If you do not - then reading the rest of this is moot - but if you do, then read on.

When you promote additional servers on your domain, and make them member DC's in the same forest, then your domain details are available to you - and you simply need to transfer the Operation Master role to another DC - but before doing that - there are the FSMO's - yea, something hardly anyone knows about: FSMO = Flexible Single Master Operation - something your PDC or master of operations - manages. If a PDC - and Global Catalog for that matter - goes offline, a backup DC will generally pickup and juggle traffic for the PDC. But what happens if the PDC crashes altogether, and you need to basically assign a member backup DC the PDC role?

FSMO must be transferred to a backup DC before that DC can assume the Master of Operations role. This is done at the command-line level, and you must be careful before you make this call - ONLY do this if you are sure you cannot recover the original PDC because once you do this - you cannot laterr recover the PDC and bring it online. It cannot be added back into the forest at all.

So, the FSMO roles and how we transfer these. In a word, you cannot simply transfer the FSMO roles because the PDC is off line and not available to authorize the transfer. However, you 'can' SEIZE the FSMO roles from the original PDC - even with the machine offl line.

Caution: Using the Ntdsutil utility incorrectly may result in partial or complete loss of Active Directory functionality.

Open a CMD prompt on the backup DC you want to perform this on. At the command-line prompt, type Ntdsutil and press <Enter>.

Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS>ntdsutil
ntdsutil:

At this prompt, type roles and press <Enter>:

ntdsutil: roles
fsmo maintenance:

Now type connections and press <Enter>:

fsmo maintenance: connections
server connections:

Now type connect to servername <serverName> where <serverName> is the name of the backup DC you are working on, and press <Enter>:

server connections: connect to servername hamddc02

Connected to hamdc02 using credentials of locally logged on user.
server connections:

At the server connections prompt type q and press <Enter>:

server connections: q
fsmo maintenance:

Now we are going to SEIZE the FSMO roles we want. NOTE: Out of the 5 FSMO roles, we are NOT going to seize the Infrastructure Master. We do not want to put the Infrastructure Master (IM) role on the same domain controller as the Global Catalog server. If the Infrastructure Master runs on a GC server it will stop updating object information because it does not contain any references to objects that it does not hold. This is because a GC server holds a partial replica of every object in the forest. For now, we'll seize the following:

Seize domain naming master
Seize PDC
Seize RID master
Seize schema master

We do this by typig the line shown above. For example, to seize the domain naming master, type seize domain naming master and press <Enter>

You will receive a Windows dialog prompting to confirm this move - click <Yes> and then you'll see the attempt to safely transfer the FSMO role, a failure message, and then it will seize the role, assigning it to the backup DC you specified when you connected to the server above.

Once you have completed this for the 4 roles, type Quit to exit the utility, then Exit to return to Windows.

From the Start menu, select Run and enter dsa.msc and press <Enter>.

On the domain that is displayed, right click and select Operations Masters. You should now see that this backup domain controller (HAMDC02 in this case) is not the Operations master.

From here you simply re-create the failed domain controller, and promote it - joining it to this existing forest.

Hopefully others will find this useful.


Sunday, April 01, 2007 #

I remember the book by Harold Robbins very well, but it was when I was reading this book that I was introduced to country music and a life that I'll never forget - notwithstanding my career in technology.

Long before I was a coder I was a countruction worker by day and guitar player at night. Mostly I favored the folk songs of the '60's and '70's - but about the time I entered technology - I also ran into a group of guys that will forever be family.

In my early to mid 20's I was picked to play in a band that was then a fill-in in the CMA - basically union players that traveled the circuit in the SE United States (or wherever they were called to) - and I remember my first gig with Gary Morris. I was humbled to be called and facinated with the opportunity to be able to open and play behind a great musician. I had no idea that the next several years of my life would bring me close to legends like Willie Nelson, Waylon Jennings, the Ole Possum - and many more 'old' folks (as I called them) that I had a blast listening to and playing behind.

Recently I had the opportunity to go and visit much of the old band - what's left of the crew anyway. They're well retired, in their 70's, and I had not picked with any of them in over 14 years. My trip down memory lane - and 3 hours of picking in northern Alabama 2 weeks ago - made me take the pause to reflect on memories of another day - perhaps not a long time forgotten just yet.

I had to make the trip south for personal reasons and simply made it a point to visit the ol' boys - and my time with them really made me take pause and reflect on what I have today.

My mentor in the CMA - Pappy to those close to him - RBJ otherwise, served our country in the Army Security Agency - after doing a term in the US Navy. He was stationed in the Aleutians - on Shemya - for the better part of 18 months. You would have to researh this island and our history from WWII to really appreciate where Pappy has been. My brief visit with my old friend was a time of reflection for me because of personal tragedy in my life - and a time of reflection for Pappy too. I had no idea really where he'd been or what he'd done outside of our music career together. And it was facinating to hear some of this history.

I came away from this trip with a resounding reminder that no matter how tough things seem in my life - they're a lot tougher for others - I guess it just depends on which way the pendulum is swinging :)

As a picker in the 70's/80's - there was no Internet to distract me, or perhaps remind me - of history. Life was 9-5 during the day and a blast at night.

In today's technologically driven as well as challenged life style - there is a whisper of history to be found at your finger tips - on the Net - and a recounting of days, years, and lives past that is simply incredible - if only I take the journey.

Nope... this was not intended to be a Geek post that would provide you with some really enlightening step-by-step that you are fervently searching to find. It is simply a tribute to a friend - Pappy - that needed to be paid. Thank you my friend, and God bless...

 


Tuesday, March 06, 2007 #

I recently had the not-so-great-or-fun pleasure of a pure .Net to Oracle application show-down :) And yes, I say that with some pun.

In summary, keeping to proper form, I developed a DataProviderFactory that provided the following:

  • SQL Server native client API
  • Oracle
  • BDC to SQL Server
  • BDC to Oracle

Now, BDC = Business Data Catalog - a new service provider native to MOSS (Micrsoft Office SharePoint Server) 2007. And trust me - the BDC ROCKS!!!

Back to providers.

My provider factory basically provided classes for base types and class bases - the lowest level. In the solution I coded specific classes for the given provider (Oracle, SQL, etc) and within the Assembly.cs for that class - I'd reference the appropriate base class. All run-of-the-mill best practice stuff. Right? Well, almost.

After several hours of seeing varrying results from the Oracle database, I began to get a little suspicious - and sure enough - the provider with .Net is not all things .Net - at least not for Oracle.

If you are coding for a Oracle specific application - check out this link for specifics on the Oracle Data Provider for .Net - or the ODP. The API is 'similar' - but only SIMILAR - it is not the same. I invariably tore out the .Net System.Data.OracleClient and replaced it with the Oracle .Net provider and all came together - but this was not obvious or intuitive.

HTH's another weary developer struggling to sort out why - for lack of a better way to say it - when dealing with Oracle - it's not all things .Net.


Sunday, February 11, 2007 #

After installing MOSS and launching the SharePoint Configuration Wizard (psconfig.exe) - you are ready to begin the last leg of your MOSS installation/setup.

Here you provide the setup with the particualars for your server. Often you are installing MOSS with SQL Server being remote from MOSS, and you will be using a domain-level service account for the installation. The following is an example of the data you might enter during this step:

(if the pic does not show - click here)

Here you have a named instance of SQL Server - HAMPDOCNC running on a machine named HAMDC02.

You have a service account - $ervice_MossSa - that is a domain-level account running on the HAMILTON domain.

You click NEXT and you get the following:

(if the pic doesn't show - click here)

There are a number of reasons you can get this message. In short, if you review the 3rd to last ERR entry in the PCSDiagnostics (latest one) in \Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS - you'll see the above titled error - followed by a slew of other highly technical dump mumbo jumbo.

The gist is - the account is not getting passed to SQL Server. Why?

When you Google and otherwise research this error - it more often is associated with trying to connect to SQL Server from a ASP.Net application - but this is not the case here.

Here are a couple of obvious things to check if you receive this message:

  • Ensure that the Surface Area Configuration for SQL Server has been run on the host SQL Server - and that remote connections are allowed and that the transport of both TCP/IP and Named Pipes has been set.
  • Ensure that Enable Network DTC has been configured on both the SQL Server and any/all MOSS host servers.

Finally, be sure you reboot the MOSS host after setting up the Enable Network DTC

HTH's...


Wednesday, January 17, 2007 #

Whether you are working with forms in custom workflows - or simply trying to publish a form to a form library in MOSS so you can collect information from the user, you may encounter this error.

Initially if you Google the error - you may find comments that state that you need to uncomment the following line in the web.config for the web application:

<!-- <add name="Session" type="System.Web.SessionState.SessionStateModule"/> -->

DO NOT uncomment this field. Many do this and the forms may work - and this appears to be the solution - but it is not the best practice and it is not recommended by MSFT.

You probably have not created a Shared Service Provider and associated the web application in question with the SSP.

MOSS uses the Shared Service Provider to allow / manage session state for a Farm - and specifically for the associated web applications under that SSP.

CREATING THE SHARE SERVICE PROVIDER

When you installed MOSS - the first thing you began to get familiar with is the Central Administration tool. Take a look at the following snapshot:

Click here for a snapshot

 

Notice on the left side - under Shared Services Administration, there are 2 SSP's - SSP Administration and SSP Services. These were created after the farm was deployed (a farm is used relatively here - in essence, after MOSS was deployed).

When you first setup MOSS - there are no SSP's out of the box deployed for you. You must manually create them.

The first SSP you create will contain the SSP/Admin site - and you will also receive a warning that you should not create things like My Sites or Search services scopes within this SSP. It is a best practice to first create an initial SSP - like the example above - name is SSP Administration - and then create a 2nd or successive SSP's for shared services (like Forms, Search, Excel, My Sites, etc).

Finally, when creating a SSP - you will notice that the SSP site will default to an existing web application. See the snapshot below:

Click here for a snapshot 

Under the Basic Sites in this example, you would click the Create a new Web Application - the objective is to place the SSP in its own web application and not an existing one. Once that web application is provisioned - you will be returned to this screen and you'll be able to select the appropriate web application for the SSP.

Ping me if you have any questions - hope this is helpful...


Friday, January 12, 2007 #

As Vista gains momentum, and many of us get our hands on it - we're quickly faced with a question that not many seem able to answer. More disconcerting - there is nothing solid out there to provide direction.

If I am a ASP.Net developer - I want IIS available for my development pleasure.

More important, I will probably be using Visual Studio to crank out my applications.

There is a lot of effort in the launch of Vista and the new Office products - but what about the development community? Especially if we're not one of the few that can afford to travel the globe and partake of the special developer launches sponsored by MSFT?

A good start is here for the latest developments regarding Visual Studio and Vista. Pay special attention to that one line about VS .Net 2002 and 2003 not being supported on Vista! This is very important to many in the development community.

Be sure to get up to speed on the Visual Studio SP1 release. A touted 70+ enhancements, including:

  • New processor support (e.g., Core Duo) for code generation and profiling
  • Performance and scale improvements in Team Foundation Server
  • Team Foundation Server integration with Excel 2007 and Project 2007
  • Tool support for occasionally connected devices and SQL Server Compact Edition
  • Additional support for project file based Web applications
  • Windows Embedded 6.0 platform and tools support
  • Yes, MSFT announced a SP1 for Vista, covered pretty decent here but you should know that this release is beta. The official release will not appear until RTM Vista is launched in January/February this year.

    Planning automated deployments of Visual Studio on Vista workstations? Be sure to review this blog on some issues identified early on. The honeymoon is over!

    Be sure to check out the latest pod casts that highlight the latest Visual Studio tools / technologies / direction.

    As I ramp up to start doing all of my development on Vista - I'll keep you posted on the pitfalls and niceties - if they're to be found!


    Friday, December 29, 2006 #

    Between beta 2 and beta 2 TR/RTM - a number of things changed in the MOSS master pages/CSS - and the odds are that if you have custom master pages in B2, and especially if you customized the TopNavFlyouts or LeftNavFlyouts master pages - after applying TR or RTM - you'll find that your master page is broke - and the site will not come up. Do not despair - help is close at hand!!! A number of things changed in B2TR and followed into RTM. We can make some minor customizations to your current master page (TopNavFlyouts in this example) that will get it back up and running.

    After applying the upgrade - ensure that you have a updated copy of the SharePoint Designer (SPD). Open your site, and fetch the master page in question (TopNavFlyouts in this example).

    Get there where we can render the page...

    First, search for <PublishingNavigation:PortalSiteMapDataSource> - the control with id=DataMapDS. Once you find this, replace the TrimNonCurrentHeadings="true" property with TrimNonCurrentTypes="Heading".

    Second, search for and replace

    <SharePoint:ScriptLink language="javascript" name="core.js" runat="server"/>

    <SharePoint:ScriptLink language="javascript" name="ows.js" runat="server" />

    with

    <SharePoint:ScriptLink language="javascript" name="init.js" runat="server"/>

    If you try saving right now? You might see:

    If this does not render - it is a prompt stating that you need to add a new placeholder for the Robots meta tag - go ahead and click Yes.

    Third, You can click Yes above, or add the following just after the <meta> tags in your master page - <SharePoint:RobotsMetaTag runat="server"></SharePoint:RobotsMetaTag>

    NOTE: This must be added after the <meta> tags, and before the </head> end tag.

     

    There is a snafu now - which you would notice if you tried rendering now - with the toolbar rendering where we want it. Do the following:

    Fouth, locate the class="mainContainer" line. Add id="MSO_ContentDiv" runat="server" in this line. The corrected line should look like:

    <div class="mainContainer" id="MSO_ContentDiv" runat="server">

    Fifth, search for the following in your master page:

     

    <div class="search">
    <asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">
    <SPSWC:RightBodySectionSearchBox id="SearchBox" TextBeforeDropDown="" TextBeforeTextBox="<%$Resources:cms,masterpages_searchbox_label%>" TextBoxWidth="100" GoImageUrl="<% $SPUrl:~sitecollection/Style Library/Images/Search_Arrow.jpg %>"
    GoImageUrlRTL="<% $SPUrl:~sitecollection/Style Library/Images/Search_Arrow_RTL.jpg %>" SearchResultPageURL="<% $SPUrl:~sitecollection/SearchResults.aspx %>" DropDownMode = HideScopeDD FrameType="None" runat="server" WebPart="true" __WebPartId="{7872FDA4-AEF7-4DB0-8C99-648EE4441DC8}"/>
    </asp:ContentPlaceHolder>
    </div>

    We want to replace the <SPSWC... /> area with the following:

    <SPSWC:SearchBoxEx id="SearchBox" RegisterStyles="false" TextBeforeDropDown="" TextBeforeTextBox="<%$Resources:cms,masterpages_searchbox_label%>" TextBoxWidth="100"
    GoImageUrl="<% $SPUrl:~sitecollection/Style Library/Images/Search_Arrow.jpg %>"
    GoImageUrlRTL="<% $SPUrl:~sitecollection/Style Library/Images/Search_Arrow_RTL.jpg %>"
    GoImageActiveUrl="<% SPUrl:~sitecollection/Style Library/Images/Search_Arrow.jpg %>"
    GoImageActiveUrlRTL="<% SPUrl:~sitecollection/Style Library/Images/Search_Arrow_RTL.jpg %>" UseSiteDefaults="true" DropDownMode = "HideScopeDD" SuppressWebPartChrome="true" runat="server" />

    The finished line should match:

    <div class="search">
    <asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">
    <SPSWC:SearchBoxEx id="SearchBox" RegisterStyles="false" TextBeforeDropDown="" TextBeforeTextBox="<%$Resources:cms,masterpages_searchbox_label%>" TextBoxWidth="100"
    GoImageUrl="<% $SPUrl:~sitecollection/Style Library/Images/Search_Arrow.jpg %>"
    GoImageUrlRTL="<% $SPUrl:~sitecollection/Style Library/Images/Search_Arrow_RTL.jpg %>"
    GoImageActiveUrl="<% SPUrl:~sitecollection/Style Library/Images/Search_Arrow.jpg %>"
    GoImageActiveUrlRTL="<% SPUrl:~sitecollection/Style Library/Images/Search_Arrow_RTL.jpg %>" UseSiteDefaults="true" DropDownMode = "HideScopeDD" SuppressWebPartChrome="true" runat="server" />
    </asp:ContentPlaceHolder>
    </div>

    Almost done..

    Sixth, we need to make some changes to your CSS. In our case, we often override the TopNavFlyouts.css object with one of our own. Whichever the case is for you, you'll need to make the following replacements in your primary CSS for the search control:

     

    .search
    {
    margin:6px 2px 20px 2px;
    }
    .search .ms-sbcell .ms-sbplain
    {
    margin-right:2px;
    margin-left:2px;
    border:1px #555555 solid;
    height:14px;
    }
    .search .ms-sbcell
    {
    border:none;
    font-weight:normal;
    font-size:8pt;
    color: #3A4663;
    padding:0px;
    }
    .search .ms-sbgo
    {
    background:none;
    }

    This involves adding the 'margin: 6px, etc.' line to your existing .Search class, and adding the other 3 new classes.

    Now - one more thing. The TopNavFlyouts.master is a given master page in the Internet Presence Web Site site definition - but it has been deprecated. With that said, we need to make a couple more changes - so our Publishing Portal (or other custom) site definition can see the master page.

    1) Browse the site in question that you have the TopNavFlyouts master page in.

    2) Site Actions-->Manage Content and Structure

    3) Select the Master Page Gallery on the left.

    4) Locate your TopNavFlyouts.master on the right side

    5) Hover over and get your drop down menu - click and Check Out the master page - if it is not already

    6) Hover over again, click and Edit Properties

    7) On the Edit Item - Master Page Gallery: TopNavFlyouts screen, notice the Content Type is set to Master Page. Drop this down and change it to Publishing Master Page.

    8) Notice now that a Hidden Page attribute/property just appeared at the bottom of the properties screen. Un-check that - we do not want it hidden.

    9) Click OK

    10) Publish the new page.

    That's it!!!

    You may have other modifications to make - but this should get your page to where it renders and is compliant with new MOSS controls.

    Enjoy :)