Results 1 to 25 of 25

Thread: comdlg32 not found?

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    comdlg32 not found?

    Hey,

    I made a program in Vista using VB6 and it uses the common dialog control.
    I made an installscript using Inno Setup 5.

    When I install the program, all is fine.
    When most other users install the program, all is fine.
    However, there are a few people I have heard from that get the following error:

    Code:
    run-time error "339":
    
    component 'comdlg32.ocx' or one of its dependencies is not registered : a file is missing or invalid.
    comdlg32 Is the common dialog control right? Isn't that supposed to come with windows, since windows uses it aswell?! Or is this merely a 'copy' of the windows dialog?
    Why is InnoSetup not distributing this file, while it is distributing all other ocx files I use? (About 5 of them)...

    Some of the users having this problem run XP and some run Vista...

    What should I do?

  2. #2
    I'm about to be a PowerPoster! Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,333

    Re: comdlg32 not found?

    Moved to Application Deployment

  3. #3

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Thanks, should have noticed that... :P

  4. #4
    Fanatic Member drivenbywhat's Avatar
    Join Date
    Jan 2007
    Location
    VA - USA
    Posts
    866

    Re: comdlg32 not found?

    Don't quote me on this but I don't think Vista comes with that file. I sent my game to people. One of them has Vista & the other have XP. The person with Vista got that error. I had to include the file with the game and all was solved. I don't know much about Inno but if it's possible, try manually adding the file to your setup.
    [vb5 & starting to move to vb2008] I appreciate the help I get from everyone. Thank you.

  5. #5
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    Why would you think Inno Setup would automatically distribute that file? Inno Setup will not distribute anything other than what you tell it too.

  6. #6

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Are you sure? Because there are a few ocx files like this that it automatically placed in the windows folder afaik, without me telling it to :S

    I will doublecheck it!
    I now have Win XP, completely clean, installed on VMware so I can quickly try it out...


    EDIT
    After checking I indeed do not see any ocx files listed in the .iss setup script file.
    So I should add all of them manually? I'm pretty sure the old installer I used did this automatically.

    Is there any way to see which OCX's are used by the program? Some plugin for VB6 maybe? I have no idea which files i'm using exactly :S

    Also, should I even distribute OCX files that the users may already have?
    Last edited by NickThissen; Aug 11th, 2007 at 11:11 AM.

  7. #7
    Fanatic Member drivenbywhat's Avatar
    Join Date
    Jan 2007
    Location
    VA - USA
    Posts
    866

    Re: comdlg32 not found?

    Until randem gets a chance to respond, I'll take a crack at it. I believe but I'm not sure, that randem had told me that Inno actually can tell you what dependencies your program has. However, there are two are ways to find out. I think there might be other programs that tell you what your program needs to run. You'll have to search the net. The way I do it is by testing it out on a "clean" pc and seeing what files it says the exe is missing. Normally, you could just include the vb6 runtime files, which is basically what people need. Then any other controls that you used are also needed to add to the setup. For example, if you used the DIALOG control, then you need the COMDLG32 ocx. If you used the TABBED control, you need the TBCL32 ocx. You can find out what ocx/dll you need by going to the components (ctrl + t) and seeing what controls you have checked. If you click on them once, they tell you the path and name of the control.
    [vb5 & starting to move to vb2008] I appreciate the help I get from everyone. Thank you.

  8. #8

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Thanks, I did just that a few minutes ago and tried it.

    I added the following lines to the Inno setup script:

    Code:
    Source: "V:\Windows\system32\comdlg32.ocx"; DestDir: "{win}\system32"; Flags: ignoreversion
    (And the same with other ocx files)

    Then installed it again in my clean XP install, and got the same error. I checked in the windows/system32 folder and the files I added were not there.
    Apart from comdlg32.ocx, that seems to have been there by default?

  9. #9
    Fanatic Member drivenbywhat's Avatar
    Join Date
    Jan 2007
    Location
    VA - USA
    Posts
    866

    Re: comdlg32 not found?

    Maybe it's a problem with VMWARE. Perhaps Inno can't install those files on a virtual environment. Don't you have any old pc laying around that you can try this on? Or maybe Inno isn't saving the appropriate paths you're telling it to?
    [vb5 & starting to move to vb2008] I appreciate the help I get from everyone. Thank you.

  10. #10

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    I don't think it's VMware's fault. Afaik, the main reason it serves is doing just this, testing your programs on other OS's quickly without having to buy a PC for each OS. Would be odd if something this simple didn't work...

    I think it's got more to do with my knowledge (or lack thereof) about installing, Inno Setup and the likes...

  11. #11
    Fanatic Member drivenbywhat's Avatar
    Join Date
    Jan 2007
    Location
    VA - USA
    Posts
    866

    Re: comdlg32 not found?

    Yes, I know what VMWARE is. I have used it myself and have found that it isn't 100% effective so that people can just depend on virtual OSes without any real ones. It has it's downfalls.

    If you like, I have a clean pc. Attach your app with its setup to the post and I'll install it on that pc and see what files it tells me it's missing. Make sure to tell me what files you are installing and where they are being installed so I can delete them afterwards. The reason for this is that I want to keep my pc "clean" for future programs.
    [vb5 & starting to move to vb2008] I appreciate the help I get from everyone. Thank you.

  12. #12

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Well, the setup file can be found here:
    (It's about 800 kb which is too big for the forum apparently. Just click "Free" at the bottom and enter the validation code.)
    http://rapidshare.com/files/48405440/setup.zip.html


    Here's the install script from Inno Setup so you can see exactly what I'm installing:

    Code:
    ; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
    
    [Setup]
    AppName=ETScript
    AppVerName=ETScript 0.5
    AppPublisher=Nick Thissen
    DefaultDirName={pf}\ETScript
    DefaultGroupName=ETScript
    OutputBaseFilename=setup
    Compression=lzma
    SolidCompression=yes
    
    [Languages]
    Name: "english"; MessagesFile: "compiler:Default.isl"
    
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    
    [Files]
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\ETScript.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\Resources\*"; DestDir: "{app}\Resources"; Flags: ignoreversion
    
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\EditScriptRef_Readme.txt"; DestDir: "{app}"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\ETScript.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\icon.ico"; DestDir: "{app}"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\preset.txt"; DestDir: "{app}"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\readme.txt"; DestDir: "{app}"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\ETScript\scriptref.mdb"; DestDir: "{app}"; Flags: ignoreversion
    
    ; OCX
    Source: "V:\Windows\system32\tdbg6.ocx"; DestDir: "{win}\system32"; Flags: ignoreversion
    Source: "V:\Windows\system32\comdlg32.ocx"; DestDir: "{win}\system32"; Flags: ignoreversion
    Source: "V:\Users\Administrator\Desktop\ONTW\VB6\SBList\SBList30.ocx"; DestDir: "{win}\system32"; Flags: ignoreversion
    
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
    
    [Icons]
    Name: "{group}\ETScript"; Filename: "{app}\ETScript.exe"
    Name: "{group}\{cm:UninstallProgram,ETScript}"; Filename: "{uninstallexe}"
    Name: "{commondesktop}\ETScript"; Filename: "{app}\ETScript.exe"; Tasks: desktopicon
    Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\ETScript"; Filename: "{app}\ETScript.exe"; Tasks: quicklaunchicon
    
    [Run]
    Filename: "{app}\ETScript.exe"; Description: "{cm:LaunchProgram,ETScript}"; Flags: nowait postinstall skipifsilent
    If you can find anything I'm doing wrong... please tell me ^^


    EDIT
    The program can also add registry settings in "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ETScript\..."

  13. #13
    Fanatic Member drivenbywhat's Avatar
    Join Date
    Jan 2007
    Location
    VA - USA
    Posts
    866

    Re: comdlg32 not found?

    All right. I tested it out on my clean pc. I don't know much at all of Inno other than it's a program used with setups. However, I don't think you're doing anything wrong with it. I really believe it's VMWARE. It isn't 100% reliable. You said you checked your virtual os after installing your program in it and didn't see any of the files you specified in Inno correct? Well, I just used your own setup on my real pc and your setup worked. It added the COMDLG32, TDBG6 & SBLIST ocx to my SYSTEM32 folder. I have to check for the other files later. However, when I tried to run the program itself, it said it was missing 1 ocx. You forgot to include this file: MSCOMCTL.OCX.
    [vb5 & starting to move to vb2008] I appreciate the help I get from everyone. Thank you.

  14. #14
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    Inno Setup won't tell you bupkus, ********** will. Please understand the difference. You are using the Inno Setup Wizard, it will not tell you anything about what you need to deploy.

    You can alway do the trial and error technique though...

  15. #15

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Well this can't be right, I tried to do some changes in the script, Uninstalled the program so I could try the new script, and then noticed that the OCX files I told it to add are now deleted aswell!
    This can't be right, can it? Because I need them! Maybe other people don't, but ...

    I just can't get it... How should I install this?

  16. #16
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    Uninstalled your installed program??? Yes, this can be true if you used the wrong flags...

    But who listens to me...

  17. #17
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    ********** ---- Inno Setup Wizard

    hmmm, I can't seem to find the connection...

  18. #18
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    Code:
    ; ********** Version 7.2  Build 0  Beta
    ; Randem Systems, Inc.
    ; Copyright 2003-2007
    ; Website:  http://www.***********
    ; Support:  http://www.**********.com/cgi-bin/discus/discus.cgi
    ; OS: Windows XP 5.1 build 2600 (Service Pack 2)
    
    ; Date: August 12, 2007
    
    ;              VB Runtime Files Folder:   E:\Server Data\Randem\Develop\**********\VB 6 Redist Files\
    ;     Visual Basic Project File (.vbp):   E:\Works\NickThissen\ETScript\ETScript.vbp
    ; Inno Setup Script Output File (.iss):   E:\Works\NickThissen\ETScript\Scripts\ETScript  Beta.iss
    ;         Script Template Files (.tpl):   E:\Server Data\Randem\Develop\**********\Templates\Beta.tpl
    ;                                     :   E:\Server Data\Randem\Develop\**********\Templates\VBRuntime.tpl
    ;                                     :   E:\Server Data\Randem\Develop\**********\Templates\Vista.tpl
    
    ; ------------------------
    ;        References
    ; ------------------------
    
    ; Visual Basic runtime objects and procedures - (MSVBVM60.DLL)
    ; OLE Automation - (STDOLE2.TLB)
    ; Microsoft ActiveX Data Objects 2.8 Library - (msado15.dll)
    ; Microsoft Data Formatting Object Library 6.0 (SP6) - (MSSTDFMT.DLL)
    ; Microsoft DAO 3.6 Object Library - (dao360.dll)
    ; JET Expression Service Type Library - (MSJTES40.DLL)
    ; Microsoft Shell Controls And Automation - (SHELL32.dll)
    ; Microsoft Remote Data Object 2.0 - (MSRDO20.DLL)
    
    
    ; --------------------------
    ;        Components
    ; --------------------------
    
    ; Microsoft Common Dialog Control 6.0 (SP6) - (comdlg32.ocx)
    ; avHyperLink Label Control - (avhyperlink.ocx)
    ; Microsoft RemoteData Control 6.0 (SP3) - (MSRDC20.OCX)
    ; Microsoft Winsock Control 6.0 (SP6) - (mswinsck.ocx)
    ; APEX True DBGrid Pro 6.0 - (tdbg6.ocx)
    ; Microsoft Tabbed Dialog Control 6.0 (SP6) - (tabctl32.ocx)
    ; Microsoft DataGrid Control 6.0 (SP6) (OLEDB) - (MSDATGRD.OCX)
    ; Microsoft ADO Data Control 6.0 (SP6) (OLEDB) - (MSADODC.OCX)
    ; Microsoft FlexGrid Control 6.0 (SP6) - (MSFLXGRD.OCX)
    ; Microsoft Hierarchical FlexGrid Control 6.0 (SP4) (OLEDB) - (mshflxgd.ocx)
    
    
    [Setup]
    ;UsePreviousAppDir=no
    AppId=********** Beta
    
    ;-----------------------------------------------------------------------------------------------------
    ; Taken from VBP Project File Parameters AppName, AppName AppVersion and Company
    ;-----------------------------------------------------------------------------------------------------
    
    AppName=ETScript
    AppVerName=ETScript 0.5.2
    AppPublisher=Randem Systems
    
    ;-----------------------------------------------------------------------------------------------------
    
    AppVersion=0.5.2
    VersionInfoVersion=0.5.2
    AllowNoIcons=no
    DefaultGroupName=ETScript
    DefaultDirName={code:GetAppFolder}\ETScript
    AppCopyright=
    PrivilegesRequired=Admin
    MinVersion=4.0,4.0
    Compression=lzma
    OutputBaseFilename=ETScript052Beta
    
    [Tasks]
    Name: AutoOSUpdater; Description: Install MDAC's for Database Operations; GroupDescription: Install MDAC's:
    
    [Files]
    Source: e:\server data\randem\develop\support\scripts\output\vb_dcom_mdac_jet_autosetup.exe; DestDir: {tmp}; Flags:  deleteafterinstall ignoreversion nocompression; 
    Source: e:\server data\randem\develop\deployable system files\msstdfmt.dll; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\richtx32.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\comdlg32.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\mscomctl.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\works\nickthissen\etscript\avhyperlink.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\msrdc20.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\mswinsck.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\works\nickthissen\etscript\tdbg6.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\tabctl32.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\msdatgrd.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: c:\program files\common files\microsoft shared\dao\dao360.dll; DestDir: {cf}\microsoft shared\dao\; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\msadodc.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\msflxgrd.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\mshflxgd.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\works\nickthissen\etscript\etscript.exe; DestDir: {app}; Flags:  ignoreversion; 
    Source: e:\server data\randem\develop\deployable system files\vb5db.dll; DestDir: {sys}; Flags:  sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\msrdo20.dll; DestDir: {sys}; Flags:  regserver restartreplace sharedfile; 
    Source: e:\server data\randem\develop\deployable system files\rdocurs.dll; DestDir: {sys}; Flags:  sharedfile; 
    Source: E:\Works\NickThissen\ETScript\Scripts\Manifest\ETScript.exe.manifest; DestDir:{app}; Flags: ignoreversion
    
    [INI]
    Filename: {app}\ETScript.url; Section: InternetShortcut; Key: URL; String: 
    
    [Icons]
    Name: {group}\ETScript; Filename: {app}\ETScript.exe; WorkingDir: {app}
    Name: {group}\{cm:ProgramOnTheWeb, ETScript}; Filename: {app}\ETScript.url
    Name: {group}\{cm:UninstallProgram, ETScript}; Filename: {uninstallexe}
    
    [Run]
    Filename: {tmp}\VB_DCOM_MDAC_JET_AutoSetup.exe; Parameters: /NORESTART /VERYSILENT; WorkingDir: {tmp}; Flags: skipifdoesntexist; Tasks: AutoOSUpdater
    Filename: {app}\ETScript.exe; Description: {cm:LaunchProgram, ETScript}; Flags: nowait postinstall skipifsilent; WorkingDir: {app}
    
    [UninstallDelete]
    Type: files; Name: {app}\ETScript.url
    
    [Registry]
    Root: HKCU; Subkey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\ETScript.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue 
    Root: HKLM; Subkey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\ETScript.exe; ValueData: WINXPSP2; Flags: uninsdeletevalue 
    
    [Code ]
    function GetAppFolder(Param: String): String;
    begin
      if InstallOnThisVersion('0,6', '0,0') = irInstall then
        Result := 'C:\Users\Public\' + ExpandConstant('{username}') 
      else
        Result := ExpandConstant('{pf}');
    end;
    Last edited by randem; Aug 12th, 2007 at 03:02 PM.

  19. #19

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Wow, it is working perfectly now on my VM!
    Thanks a LOT!!

    Just got 2 questions,

    1. The 'ETScript on the Web' start menu entry is a cool touch but does not work. Where can I specify the right URL?
    2. How can I add a shortcut to the desktop + quick menu (and ask the user if they want this or not?)


    But even without that it's great! Thanks alot again!

  20. #20
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    The 'ETScript on the Web' does not work for the url needs to be changed. It is empty currently. You add the url in the {app}\ETScript.url file.

    If you use ********** all those things are done for you automatically.

    And you thought there was no difference...

  21. #21
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    BTW: I did not include the database in the script.

  22. #22

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    I didn't "not know there was a difference", I simply didn't know InnoSetup and ********** were different things... I mean, the names nearly match lol...
    Sorry bout that!

    How can I add the url in the file, since the file is created during the install, right?


    And another thing, what's the MDAC install thingy? Just curious...


    EDIT
    You didn't add most files the program needs, but that's ok, I added them myself

  23. #23
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    Well,

    Inno Setup is two words and ********** is one word.
    The links go to two different sites
    The documentation states that they are two different companies
    etc, etc...

    Check the second line of my signature...

    The AutoOSUpdater

  24. #24

    Thread Starter
    PowerPoster
    Join Date
    Apr 2007
    Location
    The Netherlands
    Posts
    5,070

    Re: comdlg32 not found?

    Ok thanks.

    Still don't know how to add the URL...
    I tried 'playing' with this line:
    Code:
    Filename: {app}\ETScript.url; Section: InternetShortcut; Key: URL; String:
    But the same problem (it says the Target of the file is empty) persists.

  25. #25
    Banned randem's Avatar
    Join Date
    Oct 2002
    Location
    Maui, Hawaii
    Posts
    11,385

    Re: comdlg32 not found?

    Use ********** and don't worry about it...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width