Hi,

I have an application in the .exe form which was made using Installshield.When I install the application(.exe) it also installs a pdf printer called Nova Pdf (a third party tool).This Nova Pdf helps users to print pdf's from within the application.
I perform a setup capture of the .exe using Wise Package Studio and make a .wsi which after compiling I form an msi.
The issue is when I install this .msi the Nova Pdf printer does not get installed and does not reflect under Printers and Faxes.What can I do to resolve this issue.

Thanx.....
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
i faced similar issue while creating an MSI for cutePDF.
however stopping and restarting the spooler service resolved the issue.
You can try this script.

Script to change the startup type of Automatic Updates and Background Intelligent Transfer Service
'Variable to specify computer name. To run on a remote machine, change the . to IP Address
On Error Resume Next
strComputer = "."
'Create a WMI object for the specified computer
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'Query the Win32_Service namespace and search for the service name Alerter. Change to appropriate service name when necessary
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service WHERE DisplayName='Print Spooler'")
'******************************************************************
'Iterate thru the Win32_Service namespace to find the BITS and AU services
For each objService in colServiceList
'Check for StartMode
'if not Automatic then change to Automatic
dim intSleep
'Change the startup type to Disabled. You can also set it to either Manual or Automatic
If objService.DisplayName="Print Spooler" Then
'If objService.StartMode="Auto" Then
objService.StopService()
objService.ChangeStartMode("Disabled")
'msgbox "stopped"

intSleep = 15000
End if
'End if
If objService.DisplayName="Print Spooler" Then
'If objService.StartMode="Auto" Then
objService.ChangeStartMode("Automatic")
objService.StartService()
'End if
End If

Next



hope it helps!
Answered 01/19/2009 by: karshi
Purple Belt

Please log in to comment
0
Hi thanx for the prompt reply however could you let me know if I should include the .vbs script which you have sent me under custom actions execute differed in wise package studio
Answered 01/19/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
I sequenced it under "Normal execute Immediate/deferred" after "installfinalize"
Answered 01/19/2009 by: karshi
Purple Belt

Please log in to comment
0
Before you use it, I'd be adding a ton of error-trapping in there. (no offence, BTW, but this is a common fault with scripts I see)

For starters, the script assumes that the service stopped. What if it didn't? As it is, the script will blunder on and the install will fail if the service is still running.
Answered 01/19/2009 by: VBScab
Red Belt

Please log in to comment
0
i would be pleased to know the loopholes so that i can correct it in future.
However we did manual as well as package testing using this script and all is working fine till date.
Answered 01/19/2009 by: karshi
Purple Belt

Please log in to comment
0
Hi,


I used the script and but the Nova pdf printer does not install

:-(
Answered 01/19/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
Hi,

Someone suggested I create a blank msi and call the .exe and create something called a ISS file from the installshield .exe and then use this ISS file which will contain al custom settings and install the .exe silently.

I am not sure how to create an ISS file and go about this process.

Thanx...
Answered 01/19/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
However we did manual as well as package testing using this script and all is working fine till date.The key phrase there is "till date" (you meant "to date", of course). It works because the systems you're testing on are (hopefully) perfect. What happens when the local permissions are in error and even an admin user can't stop the service? It happens (and more often than you might think!)

What I'm trying to do is educate people to program defensively. Scripts should check EVERYTHING and that includes object creation (yes, including things like creating the FileSystemObject object). Each file copy operation needs a check to see if the file was successfully copied, etc, etc. Assume NOTHING! At some point, something WILL go wrong and your scripts should cater for that.
Answered 01/19/2009 by: VBScab
Red Belt

Please log in to comment
0
got a suggestion for u.
Attimes wen the printer driver capture takes place drivers don't actually get captured.
U can use the MSi whihc had been captured and define a custom action to run after install finalise..which launches the exe for printer.the printer shall b setup.
Also define sa similar custom action at the time fo uninstall.
I hope that should do for the application.
Answered 01/19/2009 by: RJ
Purple Belt

Please log in to comment
0
The problem is I cannot locate the nova pdf .exe anywhere in the original .exe installation folder
Answered 01/19/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
I used the script and but the Nova pdf printer does not installThe script isn't designed to install the printer but to get it to appear in the list of available printers, after the driver has been installed.

I don't know this app at all but I suspect that - like most drivers - it's driven by an INF file. If it is, refer to the 'sticky' post at the top of the forum page which refers to driver installation.
Answered 01/19/2009 by: VBScab
Red Belt

Please log in to comment
0
The application is called Statistica and the pdf printer is a third party tool called Nova pdf.
The following are the files available in the .exe folder:
AUTORUN.bmp
Autorun.exe
AUTORUN.INF
AUTORUN.INI
AUTORUNH.bmp
data1.cab
data1.hdr
data2.cab
engine32.cab
layout.bin
setup.bmp
setup.exe
setup.ibt
setup.ini
setup.inx
setup.isn
setup.iss
XXNET
New Folder

The New Folder contains 2 files
.tmp and .lic files both contain license flexlm information
Answered 01/19/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
You'll need to post the MSI for NovaPDF somewhere like senduit.com, as the default distro doesn't seem to be available in MSI form.I suspect that the folks at Statistica re-packaged it into MSI.
Answered 01/19/2009 by: VBScab
Red Belt

Please log in to comment
0
Hi...I don't have an msi for nova....The files I have mentioned above are all I have to work with and create and msi from the .exe i mentioned
Answered 01/19/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
My mistake. You *did* say that already. OK, well, post *your* MSI to senduit.com and we'll take a look at that.
Answered 01/19/2009 by: VBScab
Red Belt

Please log in to comment
0
There shouldnt be a need to start and stop spooler services when installing printers and you should NEVER snapshot a printer installation as the printer is installed in sequance from a registry perspective so you run the risk of breaking an already installed printer.

Use PRINTUI.DLL to install your printer, run it via a custom action once you have dropped the files to the machine.

Below is an example, but use google to find more:

rundll32 printui.dll,PrintUIEntry /if /b "HP4510-DH" /f "\\servername\apps\drivers\JP Drivers\HP4510\XP\hpc4015c.inf" /r "lpt1:" /m "HP LaserJet P4010_P4510 Series PCL 6"

P
Answered 01/19/2009 by: Inabus
Second Degree Green Belt

Please log in to comment
0
The thing is, I think, Paul, not all these PDF creation doo-hickies install as printers. Most do, but not all. That's why I asked for the MSI to be posted somewhere where we can d/l it and take a look.
Answered 01/20/2009 by: VBScab
Red Belt

Please log in to comment
0
Hi...The msi package which i have created from the .exe contains the license file which I am not permitted to post.
Can you suggest some other way...


Thanx
Answered 01/20/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
Can you suggest some other way...You mean something REALLY radical like creating a copy of the MSI without the license file in it? No, I don't think I can.
Answered 01/20/2009 by: VBScab
Red Belt

Please log in to comment
0
Hi guyz....

I managed to solve this...what I did

1. Remove the exclusions to the HKLM\System\*, HKLM\Software\*, and HKCU\Software\* paths

2. Included the global stole.dll file


And voila....

The pdf printer gets installed...

NB: While installing the msi the print spooler service must be turned off.And after installing the service must be turned on. I did this manually so I would have to add a script in the package in setup that does thsi automatically

Thanx for all the support guys.......

Answered 01/21/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
1. Remove the exclusions to the HKLM\System\*, HKLM\Software\*, and HKCU\Software\* paths
2. Included the global stole.dll file
1. How do you get ANY worthwhile packaging done with those branches excluded?!?!? Unbelievable...
2. If your package is installing that file, it'll get overwritten by Windows File Protection, won't it?
Answered 01/21/2009 by: VBScab
Red Belt

Please log in to comment
0
Hi,

VBScab you are right the.....the stole.dll is not required.The only thing that is required is to remove the exclusions to the HKLM\System\*, HKLM\Software\*, and HKCU\Software\* paths

However I am not able to get the script right to stop and start the print spooler service...need help on that please!!

I am uncertain to use the script given above because as you mentioned

Quote:
"For starters, the script assumes that the service stopped. What if it didn't? As it is, the script will blunder on and the install will fail if the service is still running. "
Answered 01/26/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
Forget script. Use the ServiceControl table. http://msdn.microsoft.com/en-us/library/aa371634(VS.85).aspx
Answered 01/26/2009 by: VBScab
Red Belt

Please log in to comment
0
Hi Vbs..

I have never used this Service Control table before....tried to do it looking up the article but failed..need some tips from you on how to do it for the first time...


thanx..
Answered 01/26/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
What are you using to author/edit the MSI? Both Wise and InstallShield provide a UI for controlling services.
Answered 01/26/2009 by: VBScab
Red Belt

Please log in to comment
0
Am using Wise Package Studio..need to know how to Stop and Start the Print Spooler through the Services UI in Installation Expert in Wise
Answered 01/26/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
Ugggh...I forgot WPS's UI is too stupid to allow editing of an existing service...sorry.

However, as usual, AppDeploy already has the information you need. Had you used the 'Search' link at the top of each page, you would have come across this thread http://itninja.com/question/altiris-aquires-wise-solutions89&mpage=1&key=servicecontrol㽚
Answered 01/26/2009 by: VBScab
Red Belt

Please log in to comment
0
The link you sent worked like a charm VBS....Thanx :-)

There is one final glitch to the package...since I performed a setup capture and made an msi from the exe.
HKCR has lot of entries.The distribution team says they are unwanted.

I don't know which to delete because if I randomly delete entries which look like repated entries under HKCR
I fear the users might lose some functionality of the program.

Why the Distribution team does not want entries under HLCR?
My best guess is if an msi package with HKCR installs on a user's machine it installs/overwrites the registry with all those HKCR entries on the user's machine.If the msi package is uninstalled.it would remove all those HKCR entries and the Distribution team probably fears that would/could cause issues.
Answered 01/26/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
Why the Distribution team does not want entries under HLCR?Who knows? They probably do (one would hope!)

Remember that HKCR is an amalgam of HKLM\SOFTWARE\Classes and HKCU\SOFTWARE\Classes. It may be that they're objecting to stuff in HKLM but, if they're discreet to the app, I can't honestly see what their objection could be.
Answered 01/26/2009 by: VBScab
Red Belt

Please log in to comment
0
I removed the

HKCR\TypeLib\{GUID} registry key and the

HKCR\Interface\{GUID} registry key

and that brought down the registry entries in HKCR from around 6000 to 649

VBS...Any more suggestions on what else to remove from HKCR
Answered 01/26/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
I removed the
HKCR\TypeLib\{GUID} registry key and the
HKCR\Interface\{GUID} registry key
And why did you do that, exactly? Where, in any of my posts, did I suggest that as a course of action? Now you (probably) have a broken installation package. I hope you have a back-up...
Answered 01/27/2009 by: VBScab
Red Belt

Please log in to comment
0
Oops [&:] ..I saw in some posts that it was safe to delete the

HKCR\Interface\ folder

was not sure of the other one...HKCR\TypeLib\{GUID}

I have a backup...VBS which ones do you suggest to delete...
Answered 01/27/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
VBS which ones do you suggest to delete...None! If your distro guys want them deleted, have them make it work after deployment. Clearly, they have no idea what they're doing.
Answered 01/27/2009 by: VBScab
Red Belt

Please log in to comment
0
I wish what you said was true...but these guys have 8-10 years of packaging experience before they moved to distibution ....I can no way argue with them...and they will not accept the package [:(]...is there no other alternative..the current registry entries show 5938
Answered 01/27/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
Fine. Let them sort it out, then. I'm done.

It would be interesting, though, to know exactly what they're objecting to. Thinking around the subject, it could be that they're objecting to entries in HKCR which ought to be in the advertising tables (e.g. Classes, AppID) instead. Could that be it?
Answered 01/27/2009 by: VBScab
Red Belt

Please log in to comment
0
TP24667,

I guess you should ask the "team" how they want the COM-component (ex. DLL, OCX, EXE) registration information to be written during install; which can be handled in three different ways:
1. Self-registration through either the SelfReg table or custom action; this option is NOT recommended.
2. Purely through the Registry table.
3. Through the COM-advertise related tables (ex. Class, TypeLib, ProgId and some small portion in the Registry table)

If they want support for self-healing during COM-component(s) API calls then methoed 3 would be preferred.
Answered 01/27/2009 by: AngelD
Red Belt

Please log in to comment
0
I was not allowed to get in touch with the distribution team to ask these questions...am stuck now..any ideas from your side would be appreciated Angel...thanx
Answered 02/10/2009 by: TP24667
Senior Yellow Belt

Please log in to comment
0
I was not allowed to get in touch with the distribution team to ask these questions...LOL...what sort of company is it that you're working for?!? Holy cow!

Look, you have a working solution which, provided you have followed the recommendations here, conforms to best practise. There is NO other solution so, if this was me, I'd forward the whole thing to the packaging team lead/manager, along with unanswered emails (if any), records of telephone call attempts, the instruction from whoever to NOT contact the distribution team - basically all the documented evidence - and have him sort it out. Your job is done.
Answered 02/10/2009 by: VBScab
Red Belt

Please log in to comment
0
I read through the thread again and you've captured a installshield legacy setup.
So, a lot of HKCR registry entries will be associated with the legacy ISScript engine during capture which should be removed.

The best would be if you could make the MSI or WSI available for us to have a look so we could tell you what to include and to exclude from the Registry table and do your job [;)]
Answered 02/10/2009 by: AngelD
Red Belt

Please log in to comment
0
So, a lot of HKCR registry entries will be associated with the legacy ISScript engine during capture which should be removed. These - along with the relevant files - should, of course, be amongst the very first things a packager should add to the list of things to exclude from a capture.
Answered 02/10/2009 by: VBScab
Red Belt

Please log in to comment
0

You can install NovaPDF seperately.  Here`s the link to there support page.  I had the same issue with another software and this was my solution.  Worked like a charm ! 

http://www.novapdf.com/kb/how-to-install-or-uninstall-novapdf-silently-133.html 

Answered 06/22/2012 by: KevinViolette
Fourth Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity