![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
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 |
#3
| |||
| |||
|
|
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 |
#4
| |||
| |||
|
|
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 |
#5
| |||
| |||
|
|
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 |
#6
| |||
| |||
|
|
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 |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |