none
Installation design advice RRS feed

  • Question

  • Hi,

     

    I'm not really sure if I'm in the right place and I'm pretty new at this (to keep it simple pls) but I would like some advice of best practice for designing my installation application. So that you know I'm using Wise for Windows Installer Studio.

     

    Essentially my company's product is a software application of which the bulk of is usually installed into Program Files on the destination computer and until now has installed the database (on which the app draws) and example projects folder into My Documents. This database needs to be read and written to by the user. However, this means that when we distribute the product every computer (and ever user) operates with it's own database (and intalling files into My Documents is generally bad practice). What we would like is to install the databases and sample projects to a location where any user of the computer can access and manipulate them. Further to this we may sell several licences to the same company so we would like to have an installation on that company's server which can install the software onto the client machines  from there (ideally simultaneously) and store the database centrally so that all users on the server can access and manipulate that database.

     

    Any advice on this issue would be greatly appreciated. Thank you.

     

    Russ.

    Thursday, April 17, 2008 11:04 AM

Answers

  • Since the access to the database is location independent, there should not be a problem in keeping the database information in a server.  You dont have to worry about read/write to database...

    Thursday, April 17, 2008 3:21 PM

All replies

  • HI

     

    take a look at isolated storage:

    http://msdn2.microsoft.com/en-us/library/system.io.isolatedstorage.aspx

     

    it provides data storage per:

     

     

    Member name Description
    None No isolated storage usage.
    User Isolated storage scoped by user identity.
    Domain Isolated storage scoped to the application domain identity.
    Assembly Isolated storage scoped to the identity of the assembly.
    Roaming The isolated store can be placed in a location on the file system that might roam (if roaming user data is enabled on the underlying operating system).
    Machine Isolated storage scoped to the machine.
    Application Isolated storage scoped to the application.

     

     

    HTH
    Thursday, April 17, 2008 12:14 PM
  • Mix-n-Match the options listed below that fits best for your scenario.

     

    1. Why cant you keep your example projects in "samples" sub folder and application database in "data" sub folder under your app folder in program files.  This should give capability for all the users of the machine to read example projects. 

     

    2. Keep the example in a sample sub folder and keep the database centrally in a share.  I assume your application is using ConnectionString to access the database, irrespective of where it is stored.

     

    BTW, what is the database platform...  I hope it is not ms access right?

    Thursday, April 17, 2008 2:29 PM
  • Well the database folder cannot go into program files because then non-admin users would not have write privaleges. I don't know what the database platform is but I am certain that it is not access..that would just be silly. i think we're considering having to change the database so that it can be accessed and read/write by many users simultaneously. I suppose what I really want to know is if there is a generic 'special' folder that you can install files into where they are read/write by all users and this applies to all platforms. i.e. XP and Vista users will have this folder in common like the desktop folder or the start menu.

     

    Thursday, April 17, 2008 2:47 PM
  • furthermore does anyone know if there is a way to include switches in an msi file. I want to delpoy the installation from Windows Server 2003 to client machines and this is done by running the msi. I want to launch the installation unnattended which I know you can do with the command 'myinstall.msi /passive'. But is there any way to include the '/passive' switch in the .msi itself - i.e create a passive msi?

     

    Thursday, April 17, 2008 2:52 PM
  • Since the access to the database is location independent, there should not be a problem in keeping the database information in a server.  You dont have to worry about read/write to database...

    Thursday, April 17, 2008 3:21 PM