eCommerce - File Download (msi setup) best method?

If you have questions about using mojoPortal, you can post them here.

You may want to first review our site administration documentation to see if your question is answered there.

This thread is closed to new posts. You must sign in to post in the forums.
6/23/2011 4:07:35 PM
Total Posts 383
Thanks Squire Dude

eCommerce - File Download (msi setup) best method?


I am looking to use the eCommerce portion of mojo as it suites my purposes very well, even is its stripped state!

Before I get going I'd like to get a basic idea of how to proceed.

I will be using the eCommerce fragment to let users install software directly from the site.  I have tried and used a ZIP file for the user to copy, unpack and install, which works fine.  BUT I thought I'd give the Microsoft .MSI file method a try, means less downloading if the user already has the components installed.

What steps do I need to take to use this method?  

Can I even use the MSI method?


In this project there are 3 folders (WindowsInstaller4_5 SQLExpress2008 & DotNetFX40) plus the 2 SetUp files in the root folder.

6/24/2011 12:53:45 PM
Total Posts 18439

Re: eCommerce - File Download (msi setup) best method?

Hi Phil,

WebStore allows you to sell download files of any kind, it doesn't care what file extension is used.

If you want to use .zip or .msi is up to you, I have no advice about which one to use nor about how to produce an .msi file.



6/25/2011 11:55:28 AM
Total Posts 383
Thanks Squire Dude

Re: eCommerce - File Download (msi setup) best method?

Hi Joe,

Sorry about not getting back to you sooner.

What is the best method to upload all the (associated) files for an .MSI install.  I noted on the "Product Admin" page it seems that there is only 1 file to upload and it becomes the file to download.

How do I get the rest of the files/folders up on the server and where do I store them in the structure?

This project has generated (VS2010) 3 folders of prerequisite folders (DonNetFX40, SqlExpress2008, & WindoesInstaller4_5) plus in the root the .msi & setup files.

Do I FTP all the extra (everything except the .msi file) files and folders to the \webstoreproductfiles\ folder then use the "Product Administration" page to upload the final .MSI file?

There is only 1 product w/2 versions.  Two versions of the same product are "Basic" & "Advantage".  I have created 2 folders under the \WebStoreProductFiles\.. structure  \WebStoreProductFiles\Basic\.. & \WebStoreProductFiles\Advantage\.. I FTP's the appropriate files and folders to each structure.  If this is the correct method how do I tell the web store where to look?


6/25/2011 5:23:25 PM
Total Posts 2247

Re: eCommerce - File Download (msi setup) best method?

Hi Phill,

If you need your users to download more than one file, you will have to provide the files in a ZIP. There's really not a way around that. Uploading other files using FTP to the location that your webstore files are saved, will more than likely cause you problems.

You may want to look into creating a self-extracting ZIP. 7-Zip is a free utility that can create self-extracting archives (7-Zip calls them SFX). I know WinZip does it but you have to buy it. This will allow you to present a single file to your users without them needing to know how to "un-zip" the file.

I do suggest you remove all of the files and directories you manually uploaded to the WebStoreProductFiles directory.

Joe D.

6/26/2011 12:31:56 PM
Total Posts 383
Thanks Squire Dude

Re: eCommerce - File Download (msi setup) best method?

Hi Joe,

Thanks I will make the adjustments.  I was hoping that the .MSI method would work as it only downloads the components it needs to install.

Not to worry I'll figure something out.


9/16/2012 2:37:32 AM
Total Posts 17

Re: eCommerce - File Download (msi setup) best method?


Please help me to solve this problem in Web Store Feature.


Server Error in '/' Application.

Access to the path 'F:\hshome\concrete\\Data\Sites\1\webstoreproductfiles\' is denied.

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.UnauthorizedAccessException: Access to the path 'F:\hshome\concrete\\Data\Sites\1\webstoreproductfiles\' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

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:

[UnauthorizedAccessException: Access to the path 'F:\hshome\concrete\\Data\Sites\1\webstoreproductfiles\' is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +7716639
System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity) +7569557
System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity) +150
mojoPortal.FileSystem.DiskFileSystem.CreateFolder(String virtualPath) +38
WebStore.UI.AdminProductEditPage.LoadSettings() +454
WebStore.UI.AdminProductEditPage.Page_Load(Object sender, EventArgs e) +17
System.Web.UI.Control.OnLoad(EventArgs e) +99
mojoPortal.Web.mojoBasePage.OnLoad(EventArgs e) +22
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

Version Information: Microsoft .NET Framework Version:2.0.50727.3625; ASP.NET Version:2.0.50727.3634

You must sign in to post in the forums. This thread is closed to new posts.