====== Setting up a ProductCart-powered store on your desktop ====== ===== Overview ===== You can host a ProductCart-powered store on your desktop or laptop for testing or development purposes. ===== Windows XP Professional ===== You can run a ProductCart-powered store on a PC running Microsoft® Windows XP Professional. You cannot run ProductCart (or any other ASP application) on Windows XP Home Edition. ==== Setup Steps ==== To set up ProductCart on a Windows XP Pro workstation, follow these steps (the steps are very similar if you are trying to set up ProductCart on a Windows 2000 Workstation): - **Ensure that IIS has been installed** \\ Look for the folder Inetpub located in the root of your hard drive. If the folder is not there, you will need to install IIS (Internet Information Services) on your computer. IIS comes with Windows XP Professional. To do so, follow these instructions - Select //Start > Control Panel// - In the Control Panel window select //Add/Remove Programs// - In the //Add/Remove// window select //Add/Remove Windows Components// - In the Wizard window check Internet Information Services, and click OK. Windows may prompt you to insert the Windows XP Professional CD-Rom into your CD-Rom Drive. - An //Inetpub// folder will be created on your hard drive, and a //wwwroot// folder will be created within it. - Open the //Inetpub// folder, and find a folder named //wwwroot// - Create a new folder, like "myStore", under //wwwroot//. - Copy and paste the //productcart// folder into the folder that you just created. Once you have set up folder permissions and a database connection as explained below, you will be able to access the ProductCart Activation Wizard by going to the following URL: http://localhost/myStore/productcart/setup/ - **Set folder permissions** \\ Folder permissions are not set through the IIS console, but rather at the folder level. In other words, you need to navigate to the //productcart// folder, then right click on it and select Properties. In order to be able to set folder permissions, make sure that the Security tab is shown when you access a folder's Properties window. If the Security tab is now shown, select //Tools > Folder Options > View// and uncheck //Use Simple File Sharing//. Then it will show. - To assign "Read/Write" permissions to the //productcart// folder and all of its subfolders: navigate to the //productcart// folder from My Computer, right-click on it, select //Properties// and then click on the //Security// tab. You can now set "Read/Write" permissions by simply selecting the user in the top part of the screen, and checking the correct permission options in the lower part of the screen. Typically, you will use set permissions for the //IUSR_MachineName// user (where "MachineName" is the name of the server) on a production server, and for the "Everyone" user when developing locally on your workstation. To add a user, simply click on the //Add// button, enter the user name (e.g. "Everyone") and click OK. -- To assign additional "Delete" permissions to the //includes// subdirectory of //productcart//, you will need to click on the //Advanced// button on the same window, select the user again, then click on //Edit// and select the //Delete// option in the //Permissions// area. ..More specific instructions on how to set folder permissions are beyond the scope of this document, and they differ depending on the operating system that you are using (e.g. Windows 2000 vs. Windows XP). Please refer to the Windows® online help for more information. - **Set up a database connection** \\ The easiest way to do this is to create a //System DSN// that points to ProductCart's database. To create a System DSN, select //Start > Control Panel > Administrative Tools > Data Sources (ODBC)//, then click on the //System DSN// tab and create a new DSN. Simply browse to the folder that contains the MS Access database, select it and name the DSN. You will use this name during the ProductCart activation procedure. If you attempt to activate ProductCart without having set the correct folder permissions, the Setup Wizard will notify you that the necessary folder permissions have not been set correctly, and will not allow you to proceed with the activation until they are correctly configured. ===== Windows Vista ===== ==== Supported Versions ==== The following versions of Microsoft® Windows® Vista® include support for Internet Information Services (IIS 7): * Vista Home Premium * Vista Ultimate * Vista Business ==== Enabling IIS and ASP ==== Note that Internet Information Services (IIS) is not installed by default in Windows Vista. To enable it, follow these steps: - Click Start and then click Control Panel. - In Control Panel, click Programs and then click Turn on or off Windows Features. - In the Windows Features dialog box, click Internet Information Services and then click OK. Windows Vista uses version 7 of IIS. There are series of other steps that need to be taken (unfortunately). [[http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx|Here is a good article on this topic]]. ==== Issues accessing localhost when Skype is also installed ===== If you have SKYPE installed and after enabling IIS and setting folder permissions you are still unable to access http://localhost/ try the following :- In Skype go to Tools > Options > Advanced > Connection and untick "Use port 80 and 443 as alternatives fo incoming connections. Restart Skype and in IIS Manger restart the default website. ==== Issues connecting to a MS Access database in Vista ==== ProductCart users have reported problems trying to connect to a MS Access database in Windows Vista. Since using a MS Access database can be a handy, quick way to install ProductCart locally, this can represent a headache. Users have reported that they were able to connect to a MS Access database after following the instructions listed in the following technical articles: * http://support.microsoft.com/?id=926939 * http://forums.iis.net/p/1108980/1703486.aspx * Also [[http://www.earlyimpact.com/forum/forum_posts.asp?TID=1486&TPN=1|see this thread]] in the Early Impact forums Internally here at Early Impact we found that running the following command in Vista eventually did the trick: %windir%\system32\inetsrv\appcmd set config -section:applicationPools /[name='DefaultAppPool'].processModel.loadUserProfile:false **OR assuming your ASP page has anonymous authentication enabled:** icacls %WINDIR%\ServiceProfiles\NetworkService\AppData\Local\temp /grant IUSR:(CI)(RX,WD,AD) icacls %WINDIR%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F) **If you use authentication you should use this command:** icacls %WINDIR%\ServiceProfiles\NetworkService\AppData\Local\temp /grant Users:(CI)(RX,WD,AD) icacls %WINDIR%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F) Windows Vista Service Pack 1 seems to address most of the above-mentioned issues, and connecting to a MS Access database becomes easy again. Make sure that the database connection string is correct and that the file has Read/Write permissions. ===== Using MS SQL Express as the local database server ===== [[:productcart:install-db#connecting_to_a_local_instance_of_ms_sql_express|Please see this article about using MS SQL Express]] on your local, development/testing environment (MS SQL Express should never be used for your production store). ===== Moving a local store to a production Web server ===== ==== When using MS Access ==== This section applies to a store that uses MS Access as the database. If you ever need to move an active ProductCart-powered store from your local workstation to a production server, you will not need to reactivate ProductCart on the production server. You will instead need to follow these steps: - FTP the files to the Web server - Set folder permissions on the Web server as described earlier - Download and open the file //includes/storeconstants.asp// and edit the database connection string and the store URL constants so that they reflect the fact that the store is now running on a new Web server. - Save and upload the file back to the Web server. You should now be able to log into the Control Panel and start using the store on the new server. If you get an error message that has to do with the system not being able to access the database, please check the database connection string again in the file mentioned above. You can use the testing area of the ProductCart Setup Wizard to check the validity of the database connection string (//productcart/setup/step2.asp//). ==== When using MS SQL ==== The steps outlined in the previous section apply to the scenario of a store that will use MS SQL in the production environment as well. However, please note the following: * **MS Access to MS SQL**. If you plan to run ProductCart using a MS SQL database on the production Web server, but are going to run it locally on your workstation using a MS Access database, remember that porting a database from MS Access to MS SQL is not a simple task and typically requires the assistance of a Database Administrator (in our experience, a DBA should be able to assist you with the task with a few hours of work). * **MS SQL to MS SQL**. If you are running the store locally using MS SQL (e.g. MS SQL Server Express Edition), then you should be able to move store database by performing a back-up and restore operation. This assumes that you are using the same version of MS SQL server on the production server. MS SQL Server Express Edition should **NOT** be used in production as it is only designed for use in a development environment. Some stores that have tried using the Express version in production have encountered problems.