MSSTDFMT.DLL question

Started by npudar, September 26, 2006, 02:17:14 AM

Previous topic - Next topic

Randem

Actually the Shell is a reference that is added by another file in the list. It's actuall a reference from richtx32.ocx. So even though you did not actually reference it a control you referenced did, this is why it was added.
 
Did you compare the run logs from both runs. There has to be a difference.

npudar

randem,
When I run InnoScript, I get a dialog box that pops up and reports the number of file found, the number of unsafe files, delted files, etc.  (This is different than the Run Log.)  When I ran it before, I got no unsafe files reported, but there was 1 file not found.
 
Now when I run InnoScript, I get 15 file found, 12 unsafe files, 0 files not found, 0 files deleted.
 
In the past, I did not check the Run Log since I was not getting unsafe file info.
 
I presume that from your last post that since these unsafe files are supposed to be removedm and there is nothing to add, my installation file should be robust.  Is that your impression?
 
-------
I went back and found an older .pjt file (from yesterday) and re-ran it in build 9.  It is pointed to the same .vbp file (with the data references removed) and it generates no unsafe files.  It also does not see the SHELL32.DLL reference this time.  Any ideas of what is going on?  The older file has a 2 in the file name, and the newer one has a 4 in the .iss filename, and a 3 in the .pjt filename.
 
Nick

Randem

No those files are supposed to be removed and there is nothing new to add. The question is why you did not see these files as being removed before.
 
Did the log screen come up automatically this time vs last time?

npudar

randem,
I looked in the Run Log, and these unsafe files are reported.  Does this pose a problem for the installation, or does it get handled automatically?  If not, is there another module I need to add to the .iss file?
Thanks
Nick
 
   advapi32.dll
   kernel32.dll
   gdi32.dll
   user32.dll
   comctl32.dll
   version.dll
   mfc42.dll
   msvcrt.dll
   ole32.dll
   comdlg32.dll
   shell32.dll
   oledlg.dll

Randem

What are the unsafe filename? Look in the run log for that info.

npudar

randem,
I'm attaching the .vbp file, and the .exe file.  I checked it again and the SHELL32.DLL is not checked/selected in the reference section.
 
I forgot to mention, that when I ran InnoScript, it told me I had 12 unsafe files.  Maybe my settings are different than when I ran build 8, but I didn't get unsafe files before.
 
Thanks,
Nick

Randem

npudar,
 
You would have to remove the scrrun.dll file. I should probably include that file in the unsafe file list. If you include it in your list it will be automatically removed.
 
I would need to see your VBP file to determine where the shell32.dll file came from. I will double check on this.
 
The next version of innoScript will automatically handle the Scripting Runtime installation so that there will be no further confusion.

npudar

randem,
I've implemented the changes you've suggested.  I'm including the .iss file, and have a few questions about whether I'm doing it correctly.
 
First, I installed the latest version of InnoScript -- wow, it is really fast with the searches. Thanks.
 
Lines 62 and 63 include the scr56en.exe and scripten.exe files.  I think I entered them correctly.
 
Line 64 includes the scrrun.dll file.  Is it correct to have that there still?  When the MS Scripting Runtime files are [Run] later, will that take care of the scrrun.dll for me automatically?
 
Lines 80 and 82 [Run] the Scripting files, and I am assuming they need to run before launching the application on line 83.
 
Finally, I saw something strange in this .iss file that did not appear before (in the last version I attached earlier in this thread).  A new reference appears on Line 21 - SHELL32.dll.  When I looked at the references in my VB6 project, that reference is not checked.  However, I do make use of the Shell command in my software to launch a PDF file from a Help Menu.  I am curious that this reference did not appear in the earlier .iss compilation.  Since it appears now, how does that reference get to be part of the installation?   Is is handled with one of the files that is in the .iss file?
 
Again, thanks for your great help.
Nick

Randem

What is happening is that that computer has another VB app running at the time of the installation and if it is using the file it can't be replaced. He would have to make sure that his app that uses it is shut down then the installation will work.

npudar

randem,
Thanks.  This is beginning to make some more sense to me.  Regarding the msvbvm60.dll file.  In examining the .iss file I saw that it is part of VB6 Redist Files that InnoScript handles for us.  The following error was experienced by one of my users.  It appears as though his XP Pro is preventing him from replacing the existing version of the file.  I can't tell from his message whether the whole installation stops, or just this one file is skipped.  Is there possibly some setting he has to change so that the installation works?  Or possibly he doesn't have Admin rights?  Any other ideas?
 
C:windowssystem32msvbvm60.dll  
An error occurred while trying to replace the existing file:  
Delete file failed; cod 5.  
Access denied.
 
Thanks,
Nick

Randem

No, Msvbvm60.dll is part of VB itself and is a VB runtime file. Vb cannot run without this file.

Randem

If your project compile with no errors when you removed the reference, then you do not need it.
 
As far as the Scripting Runtime you need to include it just as it is in the script. If you are not deploying to all OS's then you can remove the lines that does not apply to the destination OS.
 
You can place the Source location anywhere. The tmp locations just tell Inno Setup that it will unpack it to the tmp folder then run it from there so that it can be deleted later. If you want it to automatically delete after the install just include on the file in the [Files] section the flag DeleteAfterInstall

npudar

randem,
forgive my lack of knowledge, but is MSVBVM60.DLL part of the MS Scripting Runtime?  If I deploye the MS Scripting Runtime correctly per your instructions, will that MSVBVM60.DLL error be taken care of?
Thanks,
Nick

npudar

I have a few more questions, and I thank you for your continued great support.
 
First, in Visual Basic, I went into the Project - References dialog box, and disabled two of the checkboxes that pertained to Data control (since I do not use any database controls).  (They were the Microsoft data Formating Object Lilbrary, and the Microsoft Data Binding Collection.)  When I compiled the program, it compiled with no errors.  I am assuming that I do not need those references.  Is that correct?  (When I also disabled the Microsoft Sripting Runtime reference, I got an error when I tried to compile it, so I have to assume that the Scripting Runtime is essential.
 
Second, to deploy the MS Scripting Runtime, I read in the manual and on your site how to do it.  I have a few related questions: 1) do I download both files, assuming that it will install correctly based on the user's OS?  2) where do I download the files to? 3) do I enter the [Files] and [Run] script lines exactly as you show them, or do I replace the {tmp} reference with the actual directory?
 
Once again, I am posting the new executable (without the data references) for your assessment.
 
Thanks again for your excellent support.
Nick

Randem

I see nothing wrong with the script except that the MDAC Package and the Scripting Runtime Package are not deployed.