I recently compiled a new installer file, and one of my users has indicated that he is using Windows XP and is getting an error message regarding MSSTDFMT.DLL (a link error). I realize this is one of the unsafe files. I also use XP, but do not have this problem when I install -- I'm sure it has to do with versions, etc. Is there a quick way around this? Or do I have to use the Auto Updater? I do not use any database functionality, so I would like to avoid the full 32Meg installer if I could. Do you have any suggestions? Thanks.
Nick
Another user just reported that with his Windows XP Pro, he got the following error message:
C:windowssystem32msvbvm60.dll
An error occurred while trying to replace the existing file:
Delete file failed; cod 5.
Access denied.
I'm suspecting that the Auto Updater is going to be required. Again, if there is a simpler version ofthe updater that does not need the full 32M, I'd appreciate your advice. Thanks.
Nick
More detailed information on the original post: teh actual error message is:
Run-time error 713
Class not registered
You need the following file to be installed on your machine: MSSTDFMT.DLL
Thanks for the help in sortingthis one out.
Nick
npudar,
MSSTDFMT.DLL is part of the MDAC and should therefore be installed. There are smaller versions of the Automatic OS Updater but they are OS specific. Look at https://randemsystems.com/os-updater-support (https://randemsystems.com/os-updater-support)
Other info http://support.microsoft.com/kb/248055/en-us (http://support.microsoft.com/kb/248055/en-us)
BTW: What does your iss script look like? Please post it.
randem,
Thanks. I have attached a zip with the executable code and the .iss file. Also, I'm curious about the other error one of my users had with the MSVBVM60.DLL error in the second post of this thread. Thanks for your assistance.
Nick
I see nothing wrong with the script except that the MDAC Package and the Scripting Runtime Package are not deployed.
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,
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
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
No, Msvbvm60.dll is part of VB itself and is a VB runtime file. Vb cannot run without this file.
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
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.
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
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.
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
What are the unsafe filename? Look in the run log for that info.
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
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?
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
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.
You might want to try this version it will add the scripting runtime for you.
randem,
I'm attaching the .dbg, .err, .log files for 2 and 3
2 does not generate the unsafe files, and 3 does.
I discovered that 3 has a support folder in the path that was generated from a much earlier Package and Deploy effort. 2 does not have that folder in the path. The path for 3 is:
C:\Documents and Settings\Pudar\My Documents\Data\Home Stuff\Magic\Visual Basic Programs\StackView V5\;C:\Documents and Settings\Pudar\My Documents\Data\Home Stuff\Magic\Visual Basic Programs\StackView V5\Support\;C:\WINDOWS\SYSTEM32\;
and the path for 2 is:
C:\Documents and Settings\Pudar\My Documents\Data\Home Stuff\Magic\Visual Basic Programs\StackView V5\;C:\WINDOWS\SYSTEM32\;C:\Documents and Settings\Pudar\;
Hopefully this can give you an idea of what is happening to my installation efforts.
My east-coast body is giving in for the night. I'll return to this tomorrow. Thanks again for your help.
Nick
The difference is that you ran 2 in SAFE MODE and you ran 3 in UNSAFE MODE That would cause the files not to be found in 2 and the search would take a while. No dependencies would be found because the files were not found and therefore no unsafe files would be found either.
Here is the latest and greatest.
randem,
wow, that was quick with the new beta! I will get to it this evening again. I am assuming from your generous interactions that my installation will be robust when I incorporate teh MS Scripting Runtime (very easily with your new beta). if you think there are any other loose ends in my approach, I'd appreciate your advice. Thanks again for all your great help.
Nick
Yes, your installation should handle all of the issues and install clean and work everytime with the additions. The size of the installation will be a little larger but that not so much of a price to pay for something that will work EVERYTIME.
Did you resolve that issue with the guy who had a VB program running and your installation would not replace the runtime file?
randem,
I did just recently hear back from the other fellow. You were absolutely correct in your assessment of another VB application running. He exited the app, then installed without any issues. Your sleuthing is quite impressive!
Once again, thank you for your excellent support of a great program.
Nick
Thank You, Thank You very Much...
(He bows as he exits the building...)
randem,
The latest beta file just has a single file (InnoScript.exe). I was expecting to see a regular installation process. So I assumed that I just needed to replace the executable file in the InnoScript application directory, and run it from there. That seemed to work, but the generated script did not handle the MS Scripting Runtime files at all.
However, I used all of your great advice and generated the right .iss file using the MS Scripting Runtime files per your original instructions. The installer seems to work great.
Nick
Sure it does. Is there a Scripting Runtime check box on the screen? What version does InnoScript say it is when you run it?
Sorry, I did not see the checkbox. Of course, it now works. I did notice that the .iss file still includes the scrrun.dll file though. In an earlier post you indicated that that file line should be removed.
Nick
Yes, the file will still remain. You have to update your UNSAFE file list to include that file.
Thank you very much for the donation. It helps plenty.
randem,
A couple more questions. First an anomoly.
The attached zip file contains some files: the .vbp, .pjt, .log, and two .iss files.
When I ran InnoScript 5.4.0, the StackViewScript5.iss file was generated. Lines 66-69 had some of the files listed as being in a directory where there are none. When I ran InnoSetup, I received an error at those lines saying that the files did not exist in the listed directory. The file StackViewScript5edited.iss is one where I edited those directories to where the files actually exist. That file compiled correctly.
So, the first question is about why this happens. (The unsafe file was scrrun.dll, which I added to the unsafe files list.)
The second question is looking for any insights you may have with an error that is happening after a successful installation. This is back to the fellow who was having the MSSTDFMT.DLL error. After I removed all references to database objects, he is able to install the software, but when he tries to run the software, he gets an error, and the program crashes. The facts about his situation:
Operating System: Windows XP v2002, Service Pack 2
StackView Version: Downloaded StackViewSetup501.exe
Installation Process: Installation completed successfully
Application Launch: During launch/loading, error occurs, and
program crashes.
Error Message: Run-time error 713
Class not registered
You need the following file to be installed on your
machine: MSSTDFMT.DLL
I am suspecting that I will have to use the OS Updater for his machine. But I do not know why this particular file wants to be loaded since the latest version of the installation does not reference those components. What do you think?
If you want to try installing the actual software, it can be downloaded at www.stackview.com/download.html (http://www.stackview.com/download.html)
Also, you are welcome regarding the donation. You provide a great service and a great program.
Nick
Aloha npudar,
I have researched the MSSTDFMT.DLL file and found that is is part of the Visual Studios installation. The version that I have on my system is 6.1.97.82. This file should be included in your setup package.
Even though you did not directly use this dll some VB controls do use it upon exiting they check the DataFormat property and then you will get the 713 error because the file is not there. I have removed it from my Unsafe.Fil list, you should do the same.
I downloaded your app and ran it in a Virtual Machine package and got the same error. I registered the MSSTDFMT.DLL file and the app ran normally. The MSSTDFMT.DLL file must be deployed in your setup.
This file comes in the VS6 SP. You should already have this service pack installed.
randem,
Once again, many thanks.
Nick