Saturday, December 18, 2010

WordPress on IIS7 Upload Image Permissions

Problem:
With WordPress installed on a Windows Server with IIS7, images uploaded via WordPress admin do not display on the blog.  Image files are being uploaded to the server successfully but do not have the correct permissions (and do not inherit permissions from the parent folder).

Solution:
Change the AppPool Identity to run as LocalSystem.

WordPressonIIS7UploadImagePermissions

Saturday, June 19, 2010

Google Website Optimizer Fails to Validate ASPDSF Original Page Source File

AspDotNetStorefront Version: 9.0.1.3 ML

Problem:

Google website optimizer fails to validate source file for “original” page.  Variation pages and conversation pages validate ok.

Solution:

View page source generate by Google Chrome does not validate.  Generate page source using FireFox or IE instead.

Friday, June 18, 2010

ASPDNSF Allow <script> Tag in RadEditor Topics

AspDotNetStorefront

Problem:

By default, admin topics not save <script> tags.  The RadEditor strips them out on save.

Solution:

For version 9, update the following file: \Admin\topics.aspx.cs


radDescription.Content = DB.RSFieldByLocale(rs, "Description", pageLocale);
//mod start: Allow script tags in topic content.
radDescription.AllowScripts = true;
//mod end

For version 8, update date the following file: \RadControls\Editor\ConfigFile.xml

<property name="AllowScripts">false</property>

Change to:

<property name="AllowScripts">true</property>

Friday, April 9, 2010

IS Delete Custom Report

Version: Interprise Suite 2007 SP 5.3.4

Problem:

How to delete a custom created report in IS.

Solution:

IS does not provide the ability to delete a custom report.  Run the following SQL script to delete a report directly from the database.  As always, backup your database and review/test this SQL for safety.

declare @ReportDescription varchar(255), @ReportCode uniqueidentifier
set @ReportDescription = 'Your Report Description Goes Here'
select @ReportCode = ReportCode from SystemMenuReportDescriptionTemplate where ReportDescription = @ReportDescription
select * from SystemMenuReportDescriptionTemplate where ReportCode = @ReportCode

delete SystemMenuReportDescriptionTemplate where ReportCode = @ReportCode
delete from SystemUserRoleMenuReport where ReportCode = @ReportCode
delete SystemMenuReportTemplate where ReportCode = @ReportCode

Saturday, April 3, 2010

Use JQuery AJAX with AspDotNetStorefront

Version: 9.0.1.2

Problem:

How to use JQuery AJAX to call an AspDotNetStorefront web service.  The web service must have access to core AspDotNetStorefront data and functionality.

Solution:

1. Add the following lines to the web.config.  If WSI has been enabled in the web.config by un-commenting lines then insert just <add name="HttpGet"/> and <add name="HttpPost"/> in the appropriate location.

<webServices>
  <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
  </protocols>
</webServices>

2. Create a web service class.  Right click on the root web project and choose Add New Item –> Web Service.  In this example we name the file AJAX.  This will create two files:

  • /AJAX.asmx
  • /AppCode/AJAX.cs

3. In AJAX.cs, uncomment the following line to allow this Web Service to be called from a client side script.

[System.Web.Script.Services.ScriptService]

You can add to the top of this file: using AspDotNetStorefrontCore; etc. to access standard AspDotNetStorefront routines.

You create your server side methods here (to be called by the client). We’ll use the HelloWorld method that was created by default.

4. Create a javascript file and include it in your /App_Templates/Skin_1/JScriptsCustom/ajax.js e.g.

<script type="text/javascript" src="App_Templates/Skin_1/JScriptsCustom/ajax.js"></script>

You can of course include and call your JavaScript in anyway you like.

5. Create a JavaScript function e.g.

function MyJQueryAJAXTest() {
    $.ajax({
        url: 'AJAX.asmx/Test',
        dataType: "text",
        success: function(data) {
            alert(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.responseText);
        }
    });
}

6. Calling the client-side JavaScript function will pop up an XML string with “hello world” as part of the results.  Or an error will be displayed if your setup is not correct.

7. See http://api.jquery.com/jQuery.ajax for lots more detail on calling web methods with parameters etc.

Friday, March 19, 2010

DNN Error Using AJAX Control Kit

DNN Version: 4.9.5
IIS7

Problem:

While developing a DNN module using a control from the AJAX Control Kit the following error was generated.

Unhandled error loading module.
DotNetNuke.Services.Exceptions.ModuleLoadException: Unhandled Error Adding Module to TopPane ---> DotNetNuke.Services.Exceptions.ModuleLoadException: Error: GolamacStreetValidator is currently unavailable. ---> System.Web.HttpParseException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. ---> System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) at System.Web.UI.NamespaceTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean throwOnError) at System.Web.UI.NamespaceTagNameToTypeMapper.System.Web.UI.ITagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs) at System.Web.UI.TagPrefixTagNameToTypeMapper.System.Web.UI.ITagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs) at System.Web.UI.MainTagNameToTypeMapper.GetControlType2(String tagName, IDictionary attribs, Boolean fAllowHtmlTags) at System.Web.UI.MainTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean fAllowHtmlTags) at System.Web.UI.RootBuilder.GetChildControlType(String tagName, IDictionary attribs) at System.Web.UI.ControlBuilder.CreateChildBuilder(String filter, String tagName, IDictionary attribs, TemplateParser parser, ControlBuilder parentBuilder, String id, Int32 line, VirtualPath virtualPath, Type& childType, Boolean defaultProperty) at System.Web.UI.TemplateParser.ProcessBeginTag(Match match, String inputText) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) The action that failed was: InheritanceDemand The type of the first permission that failed was: System.Web.AspNetHostingPermission The first permission that failed was: The demand was for: The granted set of the failing assembly was: The assembly or AppDomain that failed was: AjaxControlToolkit, Version=3.0.20820.16598, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e The Zone of the assembly that failed was: Internet The Url of the assembly that failed was: file:///D:/wwwroot/DotNetNukeSkins495/bin/AjaxControlToolkit.DLL --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ProcessException(Exception ex) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseReader(StreamReader reader, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseInternal() at System.Web.UI.TemplateParser.Parse() at System.Web.UI.TemplateParser.Parse(ICollection referencedAssemblies, VirtualPath virtualPath) at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at System.Web.UI.TemplateControl.LoadControl(String virtualPath) at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) --- End of inner exception stack trace --- at DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, PortalModuleBase ctrlModule, Exception exc, Boolean DisplayErrorMessage) at DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(PortalModuleBase ctrlModule, Exception exc, Boolean DisplayErrorMessage) at DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(PortalModuleBase ctrlModule, Exception exc) at DotNetNuke.UI.Skins.Skin.InjectModule(Control objPane, ModuleInfo objModule, PortalSettings PortalSettings) --- End of inner exception stack trace ---

Solution:

Change the app pool from DefaultAppPool (managed pipeline mode = integrated) to Classic .NET AppPool.

Tuesday, February 9, 2010

PHP FastCGI Error on IIS 6

Version: PHP 5.2.9-2, IIS 6

Problem:

PHP websites reporting FastCGI error in browser as follows:

FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------

Error Details:

The FastCGI process exited unexpectedly
Error Number: -1073741819 (0xc0000005).
Error Description: Unknown Error
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

Solution:

While there can be many reasons for this error – a common issue is due to missing lib file dependencies for dlls in php.ini.

E.g.
In php.ini the following line exists: extension=php_mhash.dll
This requires the dependant file: /Program Files/PHP/libmhash.dll

Run the following on the command line to report missing library files: "C:\Program Files\PHP\php-cgi.exe" –v

Reset IIS after php.ini changes.  Run the following on the command line: iisreset

Wednesday, January 20, 2010

SVN Error Object of the Same Name as the Administrative Directory

Problem:

When checking out files from SVN the following error is reported:

Failed to add directory
'C:\Inetpub\wwwroot\AddictionTee_com_loc\Admin\Editor\scripts\language\_svn':
object of the same name as the administrative directory

Solution:

SVN files have been added as files under source control.  i.e. svn files where included in files explicitly committed to the repository.  Remove these files as indicated by the path in the error message.  Also search the entire folder hierarchy for additional SVN files.

Monday, January 18, 2010

ASPDNSF Cannot Login to Admin

Problem:
Cannot login to admin.  Always prompts to change password not matter what password is entered.
Solution:
UPDATE [Customer]
     SET [Password] = 'your new password here',
           [SaltKey] = -1,
           [LockedUntil] = DateAdd(d, -1, GetDate()),
           [BadLoginCount] = 0,
           [PwdChangeRequired] = 0,
           [PwdChanged] = GetDate()
     WHERE [Email] = 'your admin email address here'
and then touch web.config to recompile website.

Thursday, January 14, 2010

IS Report Errors After Report SaveAs

Version: Interprise Suite 2007 SP5.3.3

Problem:

When creating a copy of an existing report using File –> SaveAs, the new report generates various errors when viewed.

Solution:

Bind/fix all report fields as per the following documentation.

Wednesday, January 13, 2010

IS Lock Down of Inventory Item Code

Version: Interprise Suite 2007 5.3.4

Problem:

Inventory item codes can be easily changed which changes the url of the item in Interprise Suite E-Commerce.

Solution:

One of the new features in SP 5.3.4 is the lock down of item code editing.  This new feature will prevent users from accidentally changing the item code. In order to edit this you now need to do a right click and select edit to change the item name/code.

Friday, January 8, 2010

ASPDNSF WSI Event Callback Not Firing

AspDotNetStorefront Version: 8.0.1.2

Problem:

An event is added in AspDotNetStorefront admin with the full url of the external page to run.  However, the external page does not run on that event.

Solution:

The EventHandler.aspx must have the page setting ValidateRequest="false"

e.g. <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="EventHandler.aspx.cs" Inherits="EventHandler" ValidateRequest="false" %>

After New IS Upgrade, 'IsInitializeOnFormLoad' Client Error

Version: Interprise Suite 5.3.3

Problem:

After upgrading to version 5.3.3 the client reports error 'IsInitializeOnFormLoad' when trying to view any form.

The following exception was caught by the Interprise Suite.

10/03/2009 23:07:00
Type : System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Invalid column name 'IsInitializeOnFormLoad'.
Source : .Net SqlClient Data Provider

Solution:

Manually delete the IS SQL Server cache database on the client e.g. 6FE7FCC4-C588-4397-935C-859769A1C657

IS Error When Printing Purchase Order

Version: Interprise Suite 2007 5.3 ebiz

Problem:

The following error is generated when trying to print a purchase order:

The value for column ‘Contact’ in table ‘SupplierPurchaseOrder’ is DBNull

Solution:

IS: Open the supplier, click the setup tab and update the following columns:

Default Contact Name
Accounts Contact Name
Sales Contact

or

Database: Update the following columns in table Supplier:

SupplierContactCode
DefaultAPContact
DefaultContact

IS How to Create “In List” Filter Criteria for a Custom Report

Version: Interprise Suite 2007 SP4 ISE

Interprise Suite reports allow filter criteria to be specified including the “In List” option that allows values to be chosen from a list.  When designing a custom report based on a custom view, follow these steps to allow selecting filter criteria from a list (for a specific report field):

  1. Go to System Manager > Manage Data Dictionary and choose the view (the custom report is based on).
  2. Choose the column and in properties set:
    • List Type = Dynamic List
    • Pull Down Table = (name of table to list)
    • Pull Down Column = (name of column in table)
  3. If you’ve already created the report you may need to delete the filter criteria and add it again.  If you’re creating a report from scratch be sure to add your filter criteria columns when stepping through the report wizard.

e.g. If you want to show a custom invoice report with the ability to filter by invoice code then set Pull Down Table = CustomerInvoice, Pull Down Column = InvoiceCode.

IS item has already been added. Key in dictionary: 'captcha.allowedcharactersregex'

Interprise Suite Version: 2007 SP5.3

Problem:

Error message on e-commerce site:

Server Error in 'X' Application.

Item has already been added. Key in dictionary: 'captcha.allowedcharactersregex'  Key being added: 'captcha.allowedcharactersregex'

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Item has already been added. Key in dictionary: 'captcha.allowedcharactersregex'  Key being added: 'captcha.allowedcharactersregex'

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ArgumentException: Item has already been added. Key in dictionary: 'captcha.allowedcharactersregex'  Key being added: 'captcha.allowedcharactersregex']

   InterpriseSuiteEcommerceCommon.Global.m_Application_Start(Object sender, EventArgs e) +492

   InterpriseSuiteEcommerceCommon.Global.Application_Start(Object sender, EventArgs e) +9

Solution:

Duplicate e-commerce AppConfig entries exist in table WebStoreAppConfig.  Manually delete duplicate entries from the database.

IS an error occurred during a call to extension function 'RegisterProduct'

Version: Interprise Suite 2007 SP5.3

Problem:

XmlPackage Exception: Exception=Last Trace Point=[]. An error occurred during a call to extension function 'RegisterProduct'. See InnerException for a complete description of the error.

Object reference not set to an instance of an object.

System.ArgumentException: Last Trace Point=[]. An error occurred during a call to extension function 'RegisterProduct'. See InnerException for a complete description of the error.

Object reference not set to an instance of an object.

at InterpriseSuiteEcommerceCommon.XmlPackage2.TransformString() at InterpriseSuiteEcommerceCommon.AppLogic.RunXmlPackage(XmlPackage2 p, Parser UseParser, Customer ThisCustomer, Int32 SkinID, Boolean ReplaceTokens, Boolean WriteExceptionMessage)

Solution:

Ensure the user specified in Inteprise Suite E-commerce web.config is only used by the E-commerce site i.e. it's not used to login to IS directly.  Ensure that the password for the user is correct and click the test button to confirm.  Use the Interprise Database Management Console to force signout the Inteprise Suite E-commerce user (if already logged in).

IS Item has already been added. Key in dictionary: 'captcha.textforecolor' Key being added: 'captcha.textforecolor'

Interprise Suite Version: 2007 SP5.3

Problem:

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Item has already been added. Key in dictionary: 'captcha.textforecolor'  Key being added: 'captcha.textforecolor'

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ArgumentException: Item has already been added. Key in dictionary: 'captcha.textforecolor'  Key being added: 'captcha.textforecolor']
   InterpriseSuiteEcommerceCommon.Global.m_Application_Start(Object sender, EventArgs e) +484
   InterpriseSuiteEcommerceCommon.Global.Application_Start(Object sender, EventArgs e) +9

Solution:

Look for duplicate AppConfig values in the WebStoreAppConfig table e.g. select * from WebStoreAppConfig where Name = 'captcha.textforecolor'.  There should be two rows with the same AppConfig name.  Delete one of these rows.

ASPDNSF Error: Padding is invalid and cannot be removed

AspDotNetStorefront: Version 7.1.0.0

Problem:

Error when trying to view website:

Padding is invalid and cannot be removed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Security.Cryptography.CryptographicExceptio n: Padding is invalid and cannot be removed.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[CryptographicException: Padding is invalid and cannot be removed.]
System.Security.Cryptography.RijndaelManagedTransf orm.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) +1545747
System.Security.Cryptography.RijndaelManagedTransf orm.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) +257
System.Security.Cryptography.CryptoStream.FlushFin alBlock() +30
System.Web.Configuration.MachineKeySection.Encrypt OrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo) +164
System.Web.Security.FormsAuthentication.Decrypt(St ring encryptedTicket) +242
AspDotNetStorefront.Global.tX3TGN0Tm(Object , EventArgs ) +1551
AspDotNetStorefront.Global.Application_Authenticat eRequest(Object sender, EventArgs e) +37
System.Web.SyncEventExecutionStep.System.Web.HttpA pplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionS tep step, Boolean& completedSynchronously) +64

Solution:

Clear browser cache and cookies.

IS Import Data Button Error - Import Wizard Plugin Not Found

Interprise Suite Version: 2007 SP5.3

Problem:

On the data dictionary form, when the "Import Data" button is clicked and error is displayed "Import Wizard Plugin Not Found"

Solution:

Remove import wizard plug-in and re-add the plug-in i.e. C:\Program Files\Interprise Solutions\Interprise Suite 2007 eBusiness Edition\CustomPlugin\Interprise.Presentation.ImportWizard\2007.1.5.5\Interprise.Presentation.ImportWizard.dll

IS 2007 SP5.3 Installation Database Version Question

Question:

I just installed 5.3 in my test environment over an existing 5.1 installation. When I try to run the Import Tool from within the Data Dictionary tool, I get an error ‘Import Wizard plugin not installed’.  I did run the database management console and upgrade my database – it now reports version 1.5.5. I also received an error during the install about needing to uninstall the email service.

Answer:

You need to manually uninstall the Email Service on Control Panel>Add/Remove. IS released two DBMC for SP5.1 (1.5.1, 1.5.2) and two DBMC for SP5.2 (1.5.3,1.5.4); 1.5.5 is correct for SP5.3.

ISE - Incorrect Password Error

Interprise Suite Version: 2007 SP4.0 ISE

Problem:

AspDotNetStorefront website fails to display and reports "Incorrect Password" error.

Solution:

Update username/password in AspDotNetStorefront web.config using the IS configuration tool.  Use the admin username/password.  Later versions require a separate user account for storefront.

IS SDK "Script User Role" Does Not Script Form Changes

Interprise Suite Version: 2007 SP5.1

Problem:

When using the SDK to develop a plug-in it's possible to use the "Manage User Role" recipe to add a custom field to an existing form. However, the "Script User Role" does not script these changes.  So when the plug-in is installed, the field is not automatically added to the form.

Solution:

There is a known problem with this version and is due to be correct in IS 2009.  After plug-in installation of field must be manually added to the form.

Login failed for user ''. The user is not associated with a trusted SQL Server connection.

Problem:

SQL Server error message Login failed for user ''. The user is not associated with a trusted SQL Server connection. when trying to connect to database using SQL Server Authentication.

Solution:

  1. Start > Programs > Microsoft SQL Server 2005 > SQL Server Management Studio
  2. Right-click the Server name, select Properties > Security
  3. Under Server Authentication, select SQL Server and Windows Authentication Mode
  4. The server must be stopped and re-started for this change to take effect

HTTP Error 500.19 - Internal Server Error

AspDotNetStorefront Version: 8.0.0.0
IIS Version: 7

Problem:

The following error is displayed when browsing the website on a brand new install:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Solution:

See the following links for additional information and a solution:

http://blog.donnfelker.com/post/IIS-7-This-configuration-section-cannot-be-used-at-this-path.aspx
http://forums.asp.net/p/1220987/2178061.aspx

The IS Designer Could Not Be Shown

Interprise Suite Version: 2007 SP5.1

Problem:

When doing a build for a plug-in, the following error messages are generated (and indicates an issue while trying to copy files).

One or more errors encountered while loading the designer. The errors are listed below. Some errors can be fixed by rebuilding your project, while others may require code changes.

The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: HelloWorldSection --- The base class 'Interprise.Presentation.Base.BaseControl' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
Hide    

at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

The command "COPY /Y ..." excited with code 1.

Solution:

Delete plug-in files from destination Interprise Suite SDK folder e.g. C:\Program Files\Interprise Solutions\Interprise Suite 2007 SDK

Setup Email for Development on Windows Server

Problem:

Error when ASP.NET application tries to send e-mail.

Solution:

  1. Install IIS SMTP Server.  Control panel, Add or Remove Programs, Add/Remove Windows Components, Application Server, click Details button, IIS, click Details button, SMTP Service.
  2. In IIS Manager, right click SMTP Virtual server, and select properties.  Select Access tab -> Relay button.  Select "All except the list below".

Visual Studio 2005 SP1 Install on Windows Server 2003 Error Code: 0x643

Problem:

Visual Studio 2005 SP1 installation on Window Server fails with error code 0x643.

Solution:

1. Go to Start -> Programs -> Administrative Tools
2. Double-click Local Security Policy.
3. Click Software Restriction Policies.

If no software restrictions are listed, right-click Software Restriction Policies, and then click Create New Policy.

4. Under Object Type, double-click Enforcement.
5. Click All users except local administrators, and then click OK.

6. Set registry:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers - PolicyScope, change setting from 0 to 1.

IS BusinessService.asmx Web Service Reports File Not Found Error

Interprise Suite Version: 2007 SP5.1

Problem:

When trying to connect to the server via the Internet using web services, the following file not found error occurs.

Server Error in '/InterpriseSuiteWSBusiness' Application.
--------------------------------------------------------------------------------

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not load file or assembly 'DevExpress.XtraBars.v7.3.Design, Version=7.3.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1' or one of its dependencies. The system cannot find the file specified.

Source Error:

Line 67:         <add assembly="DevExpress.Data.v7.3, Version=7.3.3.0, Culture=neutral, PublicKeyToken=9B171C9FD64DA1D1" />
Line 68:         <add assembly="DevExpress.Utils.v7.3, Version=7.3.3.0, Culture=neutral, PublicKeyToken=9B171C9FD64DA1D1" />
Line 69:         <add assembly="DevExpress.XtraBars.v7.3.Design, Version=7.3.3.0, Culture=neutral, PublicKeyToken=9B171C9FD64DA1D1" />
Line 70:         <add assembly="DevExpress.XtraBars.v7.3, Version=7.3.3.0, Culture=neutral, PublicKeyToken=9B171C9FD64DA1D1" />
Line 71:         <add assembly="DevExpress.XtraEditors.v7.3.Design, Version=7.3.3.0, Culture=neutral, PublicKeyToken=9B171C9FD64DA1D1" />

Source File: C:\Program Files\Interprise Solutions\Interprise Suite 2007 Standard Edition\WebService\Business\web.config    Line: 69

...

Solution:

Copy missing file to \WebService\Business\bin folder e.g. Interprise Solutions\Interprise Suite 2007 Standard Edition\WebService\Business\bin.  Repeat for any other missing file errors.

File Not Found Error When Logging into New IS Install

Interprise Suite Version: 2007 SP5.1

Problem:

After a fresh installation of IS 5.1 the following error message is displayed when trying to login using Internet as the connection.

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Xceed.Compression.Formats, Version=1.0.5479.0, Culture=neutral, PublicKeyToken=ba83ff368b7563c6' or one of its dependencies. The system cannot find the file specified.
File name: 'Xceed.Compression.Formats, Version=1.0.5479.0, Culture=neutral, PublicKeyToken=ba83ff368b7563c6'
   at Interprise.Framework.Base.Shared.Common.Compress(MemoryStream decompressedStream)
   at Interprise.Framework.Base.Shared.Common.DatasetToStream(DataSet knownEntityDataset, Boolean isEnableDataCompression, XmlWriteMode writeMode)
   at BusinessService.FillCompressedDataSet(String commandType, String commandText, String[] tableNames, String[][] param)

Solution:

Copy the following files into the business/bin directory:

  1. Xceed.compression.dll
  2. Xceed.compression.formats.dll

For example:
Copy from: C:\Program Files\Interprise Solutions\Interprise Suite 2007 Standard Edition\
To: C:\Program Files\Interprise Solutions\Interprise Suite 2007 Standard Edition\WebService\Business\bin

Can't Sign In, IS Reports Already Signed In

Interprise Suite Version: 2007 SP5.1

Problem:

When signing in as a user into IS, IS reports already signed in (even though this user is "not" already signed in).

Solution:

Run SQL statement to set IsSignIn field = 0 in table SystemUserAccount for specific user.  e.g. update SystemUserAccount set IsSignIn = 0 where UserCode = 'admin'