HighTechTalks DotNet Forums  

ServiceInstall table

Dotnet Framework (Setup) microsoft.public.dotnet.framework.setup


Discuss ServiceInstall table in the Dotnet Framework (Setup) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
PeterW
 
Posts: n/a

Default ServiceInstall table - 06-16-2005 , 02:59 PM






I am using orca to edit a Windows Service Install msi.

The ServiceInstall table is giving me grief in that adding a row fails
repeatedly.

I think the Component_ category is the one that is the cause. The
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/serviceinstall_table.asp
file states that this is "External key to column one of the Component Table."

What on earth does this statement mean? Is it the value in the Component
column which is column one? and how do you identify which row should be
used? And where do you get the External key?

cheers

Peter
--
PeterW

Reply With Quote
  #2  
Old   
Phil Wilson
 
Posts: n/a

Default Re: ServiceInstall table - 06-17-2005 , 10:41 AM






It means that the Component column in the ServiceInstall table is column 1
of the entry in the Component table whose KeyPath column points to the File
table with your Service executable. It might help to just look at the File
table - the entry there for your Service exe has a Component column - that's
the same one you need in the ServiceInstall table.

[[The Component table is a list of components (most often containing only
one file) and each Component table entry usually has a KeyPath entry
pointing to a File table or Registry table entry. ]]

--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote

Quote:
I am using orca to edit a Windows Service Install msi.

The ServiceInstall table is giving me grief in that adding a row fails
repeatedly.

I think the Component_ category is the one that is the cause. The
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/serviceinstall_table.asp
file states that this is "External key to column one of the Component
Table."

What on earth does this statement mean? Is it the value in the Component
column which is column one? and how do you identify which row should be
used? And where do you get the External key?

cheers

Peter
--
PeterW



Reply With Quote
  #3  
Old   
PeterW
 
Posts: n/a

Default Re: ServiceInstall table - 06-20-2005 , 09:21 AM



Thanks Phil

Now the ServiceInstall table adds the record without any trouble.

I am still stumped at the next hurdle though. I run the installer and it
returns Error 1075: The dependency service does not exist or has been marked
for deletion. This when I have cleaned up the Services by removing the
service from the Services list and uninstalling as necessary before starting.

The documentation states to enter [~] in the dependencies field for no
dependencies. This is verified by the fact that if the service were
installed using installutil it shows no dependencies and runs correctly. By
adding the value [~] to the record using orca, it seems to act as if there
were dependencies defined in the serviceInstall table. That makes me think
that maybe [~] does not mean null at all!

To recap: the values I enter into the row for serviceInstall table are as
follows

Name=svcDOILoad
DisplayName = DOILoad Service
ServiceName = svcDOILoad
ServiceType=0x00000010
StartType=0x00000002
ErrorControl=0x00000001
LoadOrderGroup=null
Dependencies=[~]
StartName=DOIServiceUser
Password=aPassword
Args=left empty
Component_ = C__74F292ECB195409A816A47141D790DF2

cheers
--
PeterW


"Phil Wilson" wrote:

Quote:
It means that the Component column in the ServiceInstall table is column 1
of the entry in the Component table whose KeyPath column points to the File
table with your Service executable. It might help to just look at the File
table - the entry there for your Service exe has a Component column - that's
the same one you need in the ServiceInstall table.

[[The Component table is a list of components (most often containing only
one file) and each Component table entry usually has a KeyPath entry
pointing to a File table or Registry table entry. ]]

--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote in message
news:80A1A31E-E13A-4CD7-82F0-50A9AFACCCA5 (AT) microsoft (DOT) com...
I am using orca to edit a Windows Service Install msi.

The ServiceInstall table is giving me grief in that adding a row fails
repeatedly.

I think the Component_ category is the one that is the cause. The
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/serviceinstall_table.asp
file states that this is "External key to column one of the Component
Table."

What on earth does this statement mean? Is it the value in the Component
column which is column one? and how do you identify which row should be
used? And where do you get the External key?

cheers

Peter
--
PeterW




Reply With Quote
  #4  
Old   
Phil Wilson
 
Posts: n/a

Default Re: ServiceInstall table - 06-20-2005 , 10:36 AM



You've probably discovered this already, but just leave the Dependencies
entry empty if there are no dependencies. Null is a separator between
dependencies - that documentation says the list ends with a double null, so
maybe that would work as no dependencies.
--
Phil Wilson
[Microsoft MVP-Windows Installer]

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote

Quote:
Thanks Phil

Now the ServiceInstall table adds the record without any trouble.

I am still stumped at the next hurdle though. I run the installer and it
returns Error 1075: The dependency service does not exist or has been
marked
for deletion. This when I have cleaned up the Services by removing the
service from the Services list and uninstalling as necessary before
starting.

The documentation states to enter [~] in the dependencies field for no
dependencies. This is verified by the fact that if the service were
installed using installutil it shows no dependencies and runs correctly.
By
adding the value [~] to the record using orca, it seems to act as if there
were dependencies defined in the serviceInstall table. That makes me
think
that maybe [~] does not mean null at all!

To recap: the values I enter into the row for serviceInstall table are as
follows

Name=svcDOILoad
DisplayName = DOILoad Service
ServiceName = svcDOILoad
ServiceType=0x00000010
StartType=0x00000002
ErrorControl=0x00000001
LoadOrderGroup=null
Dependencies=[~]
StartName=DOIServiceUser
Password=aPassword
Args=left empty
Component_ = C__74F292ECB195409A816A47141D790DF2

cheers
--
PeterW


"Phil Wilson" wrote:

It means that the Component column in the ServiceInstall table is column
1
of the entry in the Component table whose KeyPath column points to the
File
table with your Service executable. It might help to just look at the
File
table - the entry there for your Service exe has a Component column -
that's
the same one you need in the ServiceInstall table.

[[The Component table is a list of components (most often containing only
one file) and each Component table entry usually has a KeyPath entry
pointing to a File table or Registry table entry. ]]

--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote in message
news:80A1A31E-E13A-4CD7-82F0-50A9AFACCCA5 (AT) microsoft (DOT) com...
I am using orca to edit a Windows Service Install msi.

The ServiceInstall table is giving me grief in that adding a row fails
repeatedly.

I think the Component_ category is the one that is the cause. The
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/serviceinstall_table.asp
file states that this is "External key to column one of the Component
Table."

What on earth does this statement mean? Is it the value in the
Component
column which is column one? and how do you identify which row should
be
used? And where do you get the External key?

cheers

Peter
--
PeterW






Reply With Quote
  #5  
Old   
PeterW
 
Posts: n/a

Default Re: ServiceInstall table - 06-20-2005 , 10:56 AM



Thanks Phil

I got it all to work properly. Finally I had an entry for the service in the
service list that would not disappear even after service was uninstalled and
programs removed. It needed me to clean up registry before it would all
install properly.

Now it all installs and uninstalls as intended and can be started and all is
great!

Thanks for your help.

cheers
--
PeterW


"Phil Wilson" wrote:

Quote:
You've probably discovered this already, but just leave the Dependencies
entry empty if there are no dependencies. Null is a separator between
dependencies - that documentation says the list ends with a double null, so
maybe that would work as no dependencies.
--
Phil Wilson
[Microsoft MVP-Windows Installer]

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote in message
news:4A72E85E-890D-47A2-A0E8-BF211163CB61 (AT) microsoft (DOT) com...
Thanks Phil

Now the ServiceInstall table adds the record without any trouble.

I am still stumped at the next hurdle though. I run the installer and it
returns Error 1075: The dependency service does not exist or has been
marked
for deletion. This when I have cleaned up the Services by removing the
service from the Services list and uninstalling as necessary before
starting.

The documentation states to enter [~] in the dependencies field for no
dependencies. This is verified by the fact that if the service were
installed using installutil it shows no dependencies and runs correctly.
By
adding the value [~] to the record using orca, it seems to act as if there
were dependencies defined in the serviceInstall table. That makes me
think
that maybe [~] does not mean null at all!

To recap: the values I enter into the row for serviceInstall table are as
follows

Name=svcDOILoad
DisplayName = DOILoad Service
ServiceName = svcDOILoad
ServiceType=0x00000010
StartType=0x00000002
ErrorControl=0x00000001
LoadOrderGroup=null
Dependencies=[~]
StartName=DOIServiceUser
Password=aPassword
Args=left empty
Component_ = C__74F292ECB195409A816A47141D790DF2

cheers
--
PeterW


"Phil Wilson" wrote:

It means that the Component column in the ServiceInstall table is column
1
of the entry in the Component table whose KeyPath column points to the
File
table with your Service executable. It might help to just look at the
File
table - the entry there for your Service exe has a Component column -
that's
the same one you need in the ServiceInstall table.

[[The Component table is a list of components (most often containing only
one file) and each Component table entry usually has a KeyPath entry
pointing to a File table or Registry table entry. ]]

--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote in message
news:80A1A31E-E13A-4CD7-82F0-50A9AFACCCA5 (AT) microsoft (DOT) com...
I am using orca to edit a Windows Service Install msi.

The ServiceInstall table is giving me grief in that adding a row fails
repeatedly.

I think the Component_ category is the one that is the cause. The
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/serviceinstall_table.asp
file states that this is "External key to column one of the Component
Table."

What on earth does this statement mean? Is it the value in the
Component
column which is column one? and how do you identify which row should
be
used? And where do you get the External key?

cheers

Peter
--
PeterW







Reply With Quote
  #6  
Old   
Phil Wilson
 
Posts: n/a

Default Re: ServiceInstall table - 06-21-2005 , 09:13 AM



Just a note: It won't delete unless you set
msidbServiceControlEventUninstallDelete in the ServiceControl table.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
"PeterW" <nspw (AT) noemail (DOT) nospam> wrote

Quote:
Thanks Phil

I got it all to work properly. Finally I had an entry for the service in
the
service list that would not disappear even after service was uninstalled
and
programs removed. It needed me to clean up registry before it would all
install properly.

Now it all installs and uninstalls as intended and can be started and all
is
great!

Thanks for your help.

cheers
--
PeterW


"Phil Wilson" wrote:

You've probably discovered this already, but just leave the Dependencies
entry empty if there are no dependencies. Null is a separator between
dependencies - that documentation says the list ends with a double null,
so
maybe that would work as no dependencies.
--
Phil Wilson
[Microsoft MVP-Windows Installer]

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote in message
news:4A72E85E-890D-47A2-A0E8-BF211163CB61 (AT) microsoft (DOT) com...
Thanks Phil

Now the ServiceInstall table adds the record without any trouble.

I am still stumped at the next hurdle though. I run the installer and
it
returns Error 1075: The dependency service does not exist or has been
marked
for deletion. This when I have cleaned up the Services by removing the
service from the Services list and uninstalling as necessary before
starting.

The documentation states to enter [~] in the dependencies field for no
dependencies. This is verified by the fact that if the service were
installed using installutil it shows no dependencies and runs
correctly.
By
adding the value [~] to the record using orca, it seems to act as if
there
were dependencies defined in the serviceInstall table. That makes me
think
that maybe [~] does not mean null at all!

To recap: the values I enter into the row for serviceInstall table are
as
follows

Name=svcDOILoad
DisplayName = DOILoad Service
ServiceName = svcDOILoad
ServiceType=0x00000010
StartType=0x00000002
ErrorControl=0x00000001
LoadOrderGroup=null
Dependencies=[~]
StartName=DOIServiceUser
Password=aPassword
Args=left empty
Component_ = C__74F292ECB195409A816A47141D790DF2

cheers
--
PeterW


"Phil Wilson" wrote:

It means that the Component column in the ServiceInstall table is
column
1
of the entry in the Component table whose KeyPath column points to the
File
table with your Service executable. It might help to just look at the
File
table - the entry there for your Service exe has a Component column -
that's
the same one you need in the ServiceInstall table.

[[The Component table is a list of components (most often containing
only
one file) and each Component table entry usually has a KeyPath entry
pointing to a File table or Registry table entry. ]]

--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"PeterW" <nspw (AT) noemail (DOT) nospam> wrote in message
news:80A1A31E-E13A-4CD7-82F0-50A9AFACCCA5 (AT) microsoft (DOT) com...
I am using orca to edit a Windows Service Install msi.

The ServiceInstall table is giving me grief in that adding a row
fails
repeatedly.

I think the Component_ category is the one that is the cause. The
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/serviceinstall_table.asp
file states that this is "External key to column one of the
Component
Table."

What on earth does this statement mean? Is it the value in the
Component
column which is column one? and how do you identify which row
should
be
used? And where do you get the External key?

cheers

Peter
--
PeterW









Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.