Old 4th October 2007, 11:56   #1
whchan
Junior Member
 
Join Date: Oct 2007
Posts: 3
How to detect Office 2003 PIA

Hi,

I'm migrating an installer of excel COM addin from visual studio setup project to NSIS. It's been quite good so far until i work on the Office PIA (Primary Interop Assembly) detection and installation.

In visual studio setup project, there're ways for us to make use of the piacheck.exe to add pre-requisite for office 2003 PIA, and we can use "launch condition" to check against the excel 2003's PIA's component ID.

After hours of search, i find no way to do the same thing in NSIS. Could someone here provide me some help on detecting Office/Excel 2003 PIA?

Reggie
whchan is offline   Reply With Quote
Old 4th October 2007, 12:49   #2
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,343
A quick Google search for piacheck.exe suggests it's an executable used to register add-ins. It accepts a GUID on the command line and seems to register it as an add-in. So, execute piacheck.exe and pass your GUID as an argument. You can use ExecWait for that.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 4th October 2007, 13:18   #3
whchan
Junior Member
 
Join Date: Oct 2007
Posts: 3
Thanks for the quick reply!

it seems piacheck is checking the MSI's component ID, but which function should i use to call it? running it in command prompt doesn't print anything.

Also, i have problem in using ExecWait for O2003PIA.msi, from the log, it seems it is run, but from add/remove program, it's not installed.

the O2003PIA.msi can be obtained at http://www.microsoft.com/downloads/d...displaylang=en
if this url is hidden in the reply, google "office 2003 PIA" the first entry will let you download the file.

ExecWait for the other msi, exe are working fine (e.g. kb908002 patch), but specifically the O2003PIA is having problem with it. As i'm new to NSIS, i have no idea how to debug this issue... if someone knows what went wrong, pls point me to the right direction, thx!
whchan is offline   Reply With Quote
Old 4th October 2007, 13:22   #4
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,343
You should use ExecWait to run piacheck.exe. I don't know anything about this program, so I can't tell if it should print anything.

To install MSI packages, execute msiexec with ExecWait. See the two following Wiki pages for examples.

http://nsis.sourceforge.net/Embedding_other_installers
http://nsis.sourceforge.net/Uninstalling_a_previous_MSI

If the MSI itself is giving you problems, it's already in the realm of the MSI and not NSIS. You can verify this by running the exact msiexec line you'd run with ExecWait in cmd.exe.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 5th October 2007, 05:18   #5
whchan
Junior Member
 
Join Date: Oct 2007
Posts: 3
ExecWait works well! Thanks so much!

I'm using registry check now, and will try out using PIACheck.exe with ExecWait later today.

Thanks a lot for your ultraquick replies!
whchan is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

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

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

Forum Jump