Compilling a DLL in VB6 to Common Files

Discussion in 'Windows Vista Administration' started by Amnon Rapoport, Sep 9, 2006.

  1. This is in Vista Beta 2 August.

    While trying to compile a COM dll from VB6 to C:\Program Files\Common
    Files\CompanyName, I got the 'Microsoft Visual Basic caption - Permission

    This works fine in WinXP. I use that folder exclusively to compile my DLLs
    and access them using Wise when generating a SetUp.exe

    Anyone have a suggestion/solution?????
    Amnon Rapoport, Sep 9, 2006
    1. Advertisements

  2. Amnon Rapoport

    Jimmy Brush Guest


    In Windows Vista, even though you are an administrator, the programs you run
    are only given "normal user" access to your computer, unless they ask for
    permission or you explictly give them permission.

    Since normal users are NOT allowed to write to the program files folder, and
    visual basic does not know how to ask you for permission to save to a
    restricted area, you must explictly give visual basic permission.

    The best solution in this case is to save and compile your programs to a
    folder under your user profile directory (such as Documents or a folder that
    you create).

    You can also give Visual Basic "admin" powers by right-clicking on the link
    to it and clicking Run As Administrator.

    Or, you can edit the security permissions on the folder you need access to
    and give your username full access to it.
    Jimmy Brush, Sep 10, 2006
    1. Advertisements

  3. Thank you Jimmy Brush.

    I gave the VB6.exe administrator permissions as you suggested. I have one
    further question.
    To preserve the integrety that Windows Vista seems to want to maintain, I
    would have preferred the possibility of giving VB6 administrator permissions
    only in the Common Files\CompanyName\ folder and not give it Administrator
    rights generally.

    A reply would be much appreciated

    Amnon Rapoport, Sep 10, 2006
  4. Amnon Rapoport

    Garry Guest

    Thank you,

    I did as you suggested, (right click on icon etc), and the VB6.exe now can
    write to the required BestPractices folder.

    Pity that you didnt post this answer also to the original VB6 post - I would
    have seen it there.

    Thanks again
    Garry, Sep 10, 2006
  5. Amnon Rapoport

    Jimmy Brush Guest


    Glad to see it is working.

    You can allow Visual Basic to always have permission to write to that folder
    by changing the security permissions on that folder to allow your username
    to have full access to it.

    Unfortunately, there is no way to limit Visual Basic to being the only
    program with write access to the folder; doing this will allow any program
    you run to have write access to that folder.

    Here's how:

    1) Open an "administrator/root" explorer
    - Click start
    - Type explorer
    - right-click windows explorer
    - click run-as administrator

    2) From the admin explorer, allow access from Vista
    - Browse to the folder you need access to
    - Right-click it
    - Click Properties
    - Click security tab
    - Click Edit
    - Click Add
    * If only your account needs acces, type your username
    * If every account on vista needs access, type: Users
    - Press enter
    - Click the checkbox under Allow next to Full control
    - Click OK
    - Click OK
    Jimmy Brush, Sep 10, 2006
  6. Amnon Rapoport

    Jimmy Brush Guest

    Sorry, I must have missed the original post. Glad you have it working.
    Jimmy Brush, Sep 10, 2006
  7. Amnon Rapoport

    Garry Guest

    THanks very much

    Garry, Sep 11, 2006
  8. Amnon Rapoport

    Jimmy Brush Guest

    You're welcome :)
    Jimmy Brush, Sep 11, 2006
  9. Amnon Rapoport

    Garry Guest


    Interestingly enuf, more people are responding to this issue on a general
    level in microsoft.public.vs.enterprise than in this Vista orientated

    This may indicate that you need a new vista newsgroup for developers as the
    points 'discovered' here are probably relevant to VS2005 as well.

    Garry, Sep 13, 2006
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.