In order to drag the DLL into the GAC, I actually need to make sure that it is signed first. So what I am going to do is bring up the Properties again, click on the Signing tab, scroll down, check the box to Sign the assembly, and then Browse so that I can select my signature. The signature is stored inside of my C:\, inside of SharePoint Designer. I see the snk key file EnhancedTeamSite. I select that, click Open, that populates the property, I will press Ctrl+S to save that property, and then rebuild the solution again. Watching the status down at the bottom left. I see the Build succeeded, and now I can drag this DLL into the GAC.
To do so I am going to browse to the Debug folder for this project. I am going to click Start, My Computer, from the C:\, Documents and Settings, Administrator, My Documents, Visual Studio 2005, Projects, ApprovalAlert, ApprovalAlert again, inside of the bin I see the Debug folder, and there is the dll; and I move this out of the way, and then launch Windows again, and browse to the C:\, choose the WINDOWS directory, and the assembly folder. Now I can drag ApprovalAlert.dll into the GAC and now it will became available on the server.
After making it available on the server, I need to modify the WSS_ACTIONS file as well as web.config. I am going to close these folders, and then browse to my WSS_ACTIONS text file. Now like the Snippets, this file was installed in a Projects folder on your Desktop. So where I am browsing to the root of my C:\, you will want to browse to your Desktop. I click Start again; browse My Computer, on the C:\ I see the SharePoint Designer folder, inside of there I see my WorkflowActivity, and inside of there I see the two text files, I am going to need to copy the contents from. I will double-click on WSS_ACTIONS.txt opening it in Notepad.
This is the XML necessary for the action to actually show up in the user interface in SharePoint Designer. It contains the Name of the Action, the className of the action, as well as all of the other necessary information for this action to be customizable in SharePoint Designer. I will select all, and copy by pressing Ctrl+C, and then I am going to browse out to the web server extensions folder, add this to the WSS_ACTIONS file.
From My Computer, I double-click on C:\, double-click on Program Files, double-click on Common Files, double-click on Microsoft Shared, double-click on web server extensions, double-click on 12, double-click on TEMPLATE, double-click on 1033 which is the language for enabling this in this case, English, double-click on Workflow, and I will see the WSS_ACTIONS file. I am going to right-click, and Open With, Notepad.
I scroll all the way to the bottom of this ACTIONS file, and add my new Action just inside the closing Actions tag. I will hit Enter to create some space and then Paste by pressing Ctrl+V. I can save this file now and close it, and then browse back out to the authorized_web_config.txt file. I will press Alt+Tab to get there this time. Open that in Notepad, select all, press Ctrl+C to copy. Once copied, I have to paste this text into the web.config file for this specific web application. Now finding the correct web.config file can be tricky, so here is a tip.
I will click on the Windows command, right-click My Computer, and choose Manage. Once the Computer Management dialog comes up, I can expand Services and Applications, expand Internet Information Services, expand Web Sites, make this section of the dialog a little wider so I can see all the server names, and then read through the list of servers until I see the one that I have been working on. In this case its moss.litwareinc.com so I will right-click that server, and choose Properties, and then click on the Home Directory tab which shows me the local path to the web.config file. I will press Ctrl+C to copy that path, and then Start, Run, Ctrl+V to paste in that path, Enter, and I can see the correct web.config file here. I am going to right-click, Open With, Notepad, and then find the authorizedTypes tag.
To do so, I will just press Ctrl+F and type authorizedTypes, and hit Enter. That's the attribute authorizeTypes but I am looking for the node authorizeTypes so I will hit Find Next, and Find Next again, there is the node, I will Cancel the Find, scroll down a little bit further so I can see what's inside of the authorizeTypes, and then paste in my authorizeType node.
Unfortunately, I just selected the path to the web.config file, so I have to press Alt+Tab to get back to my text file, and re-copy that data. I will press Alt+Tab and find the correct Notepad instance running. I will copy that again by pressing Ctrl+C, Alt+Tab back, hit Enter to give myself a little bit of space, and press Ctrl+V to paste in that assembly information.
Now I will save the web.config file and then I need to run issreset in order for this web.config to get recognized by the server. To do so, I click on Start, choose &Run, and type issreset, and hit Enter. After issresets, this new site template and workflow action will both be available inside of SharePoint Designer.