473,383 Members | 1,885 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

VB.NET Windows Service Process.WaitForExit does not work

Hello,

This is my first post. I searched on the internet for answers but I was unable to solve my problem. So I hope that you guy's can help me with my VB.NET problem

I tried to create a windows service that converts MS Word Files into .PDF files and after that we want to zip the .PDF files.

Our code:

Protected Overrides Sub OnStart(ByVal args() As String)
' Add code here to start your service. This method should set things
' in motion so your service can do its work.
watchfolder = New System.IO.FileSystemWatcher
'this is the path to monitor
watchfolder.Path = "D:\sea78\siebsrvr\ServerDataSrc\files\"
'Add a Filter for created files
watchfolder.NotifyFilter = watchfolder.NotifyFilter Or IO.NotifyFilters.FileName
'search only for .doc files
watchfolder.Filter = "*.doc"
' add the handler to each event
AddHandler watchfolder.Created, AddressOf DOC_Created
'Set this property to true to start watching
watchfolder.EnableRaisingEvents = True
End Sub

==> the code above creates a watched folder which works fine!

Private Sub DOC_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs)
Dim sFileName As String
sFileName = e.Name.Substring(7, 30).ToUpper()
If e.ChangeType = IO.WatcherChangeTypes.Created Then
'give the application some time to complete the word doc
System.Threading.Thread.Sleep(2000)

'Print/Convert .DOC to .PDF
Dim strword As String = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"
Dim wordProc As Process = Process.Start(strword, "D:\sea78\siebsrvr\ServerDataSrc\files\Merged_ " & sFileName & ".doc /q /n /mFilePrintDefault /mFileExit")
'wordProc.WaitForExit()
System.Threading.Thread.Sleep(5000)
'wordProc.Kill()
'wordProc.Close()

'Rename and move .PDF to HELP folder
Dim fMovePDF As New FileInfo("C:\Documents and Settings\siebelo\My Documents\Merged_" & sFileName & ".pdf")
fMovePDF.MoveTo("D:\sea78\siebsrvr\HELP\" & sFileName & ".pdf")
System.Threading.Thread.Sleep(2000)

'Zip .PDF to .SAF file
Dim strZip As String = "D:\sea78\siebsrvr\BIN\ssezip.exe"
Dim zipProc As Process = Process.Start(strZip, "D:\sea78\siebsrvr\HELP\" & sFileName & ".SAF D:\sea78\siebsrvr\HELP\" & sFileName & ".pdf")
System.Threading.Thread.Sleep(2000)
'zipProc.Kill()
'zipProc.WaitForExit()
'zipProc.Close()

'Copy .SAF file to S:\att folder
Dim fCopySAF As New FileInfo("D:\sea78\siebsrvr\HELP\" & sFileName & ".SAF")
fCopySAF.CopyTo("S:\att\" & sFileName & ".SAF", True)
System.Threading.Thread.Sleep(2000)

'Delete temp files
Dim FiletoDel As String = "D:\sea78\siebsrvr\HELP\" & sFileName & ".pdf"
System.IO.File.Delete(FiletoDel)
FiletoDel = "D:\sea78\siebsrvr\HELP\" & sFileName & ".SAF"
System.IO.File.Delete(FiletoDel)
'FiletoDel = "D:\sea78\siebsrvr\ServerDataSrc\files\Merged_ " & sFileName & ".doc"
'System.IO.File.Delete(FiletoDel)

'update siebel record
Dim strSql As String = "D:\oracle\ora92\bin\sqlplusw.exe"
Dim SqlProc As Process = Process.Start(strSql, "siebel/siebel@siebdev.world @" & ControlChars.Quote & "D:\sea78\siebsrvr\IBM PDF Creator\SET_PDF_FILEEXT.sql" & ControlChars.Quote & " " & sFileName)
'SqlProc.WaitForExit()

As you can see we tried a few things. First we created a normal windows application and it works fine with the process.waitforexit() but in the windows service project the process.waitforexit() won't work. We can see that winword.exe won't close in the taskmanager. We also know that our windows service hangs because winword.exe does not close. When we close it in the taskbar the next lines will be executed but hangs again when we launch the ssezip.exe program (again that application won't close)

Any help and suggestions are welcome

Steven
Dec 14 '07 #1
4 8778
radcaesar
759 Expert 512MB
Why u prefer to use WaitForExit() here. After the winword process's work has finished, destroy that object manually in your code.
Dec 14 '07 #2
radcaesar
759 Expert 512MB
If you call CloseMainWindow for a process that has a user interface, the request to the operating system to terminate the associated process might not be handled if the process is written to never enter its message loop.
Dec 14 '07 #3
The Windows Service must run totally in the background on our Windows Server. When we don't use the waitforexit step then the program continue running. The following step in our program is to move the created .PDF doc in "my documents" if we don't wait until that PDF document is created the program fails. I also think that closemainwindow is no solution for our program because it runs in the background.
Dec 14 '07 #4
radcaesar
759 Expert 512MB
Here is the solution for ur problem

http://www.itwebmonkey.com/blog/archive/2007/10/10/windows-services-threadpool-hell.aspx
Dec 14 '07 #5

Sign in to post your reply or Sign up for a free account.

Similar topics

0
by: darknessfish | last post by:
Ok, I'm trying to write a basic scp scheduler, which will occasionally scan a directory, and use cygwin's scp.exe to copy the files to a Unix box. After various problems, the set up I've got now...
2
by: Tobias Johansson | last post by:
Hello, I'm having what I believe a security problem to execute an executable file from a windows service in windows server 2003. It works fine in WIN XP SP2 The program(the service) itself...
1
by: John Crouse | last post by:
I am using the following code sucessfully on Windows 2000 and Windows XP. However, in WIndows 98 it seems to hang on the WaitForExit. What are my options here? MsgBox("Please be patient. This...
3
by: BROQ | last post by:
Hi, I am using a windows service to extract every hour a log from our mailserver in order to parse the logfile. To do this I used the folowing code: Shell("""C:\pscp"" -pw *******...
3
by: Jay | last post by:
hi i am jay from bangalore i have one problem ,can u please help me out. i have one windows application and one windows service. from windows application i have to call one process "gpg" to...
1
by: gaurav tyagi | last post by:
hi mahesh i am gaurav from bangalore i have one problem ,can u please help me out. i have one windows application and one windows service. from windows application i have to call one process...
0
by: Phil Galey | last post by:
In VB.NET, does the Process object not work fully from within a service application. It seems to be able to run the external .exe that it's supposed to run, but I do a WaitForExit followed by...
3
by: SR | last post by:
I have a requirement from a customer to run some command line applications from a service. I have most of my service coded and I've come across an issue with the important part of the application,...
5
by: andrew | last post by:
Hi, I have the following issue with the Thread.Abort(): The main thread creates a worker thread which waits on a process termination. void ThreadProc() { Process proc =...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.