電子書籍の厳選無料作品が豊富!

今回初めてVisualStudio C++ にて作業しています。
初歩的な事を聞いてしまっているかもしれませんが、宜しくお願いします。
【環境】
WinXP SP3,VisualStudio2008

【目的】
InstallShield2009にて、カスタムアクションであるプロセスが
起動されているか否か(ロックファイル有無)の判定をしたいのです。
InstallShieldのサポートより指南頂いた回答は、
PSAPI.dll に含まれる PSAPI ライブラリを使用する方法でした。

【行った操作】
http://support.microsoft.com/kb/175030/ja
http://www.networld.co.jp/is/pdf/tips/tips5.pdf
まずは新アクションの追加を試みようと、下段リンク先にあります
手順に従いC++テンプレートでのCustomActionの作成をしました。

VisualStudio2008を起動し、
新しいプロジェクト>Visual C++>空のプロジェクト と選択。
C:\CustomActionにプロジェクト「CustomAction」を新規作成。
プロジェクト(P)>CustomActionのプロパティ>Release>リンカ
「$(OutDir)\$(ProjectName).exe」を
「$(OutDir)\$(ProjectName).dll」に書き換える。
ソースファイルからCustomAction.cppとCustomAction.defを新規作成。
CustomAction.cppとCustomAction.defは、
リンク先URLのサンプルコードと同じものです。

ビルドによってできたdllを用いて、URL先資料2/5ページ以降の
手順書通りにmslを作成するも、出来上がったmsiは
実行後即、異常終了するものでした。

何処かに手順ミスがあるのは間違いないのですが、
InstallShieldの操作の方は何度も見直していますので
ミスがあるとしたらdllの作成で何処か間違えがあるのではと思い、質問いたします。
InstallShieldと言う、公になっているノウハウの少ないツールがらみではありますが、宜しくお願いします。

A 回答 (1件)

補足回答を求めます


1. 異常終了のメッセージなどがあれば追記をお願いします
2. vsでdllをつくり、呼び出したことがありますか?
私はvs2008を持っていないのでなんともいえませんが、dllを作るときは、「プロジェクトの規定値->構成の種類」で、「dll」を選ばなければいけなかったはずです。確か。
参考HP
http://symfoware.blog68.fc2.com/blog-entry-96.html
http://wiki.livedoor.jp/cafeboy1/d/C/C%2B%2B%20D …κ%EE%C0%AE

質問者さんが仰るように、dllの作成で躓いているように見えます。
dllの設定ってややこしいので、まずは参考HPの設定方法をみて、間違えていないか確認してはいかがでしょうか。

この回答への補足

参考になる資料をありがとうございます。
まずは上記資料を元に勉強し、再度作成いたします。
その上で異常が残りましたらそのエラーSSを添付するようにします。
ありがとうございました。

補足日時:2009/08/24 15:23
    • good
    • 0
この回答へのお礼

連絡遅くなりまして申し訳ありません。
dllはプロジェクト作成時の設定で問題なく作成する事が出来ました。

それを使っての目的を果たすのはまた別の問題がありましたが、
dll作成に関してはおかげ様で理解する事が出来ました。
ありがとうございました。

お礼日時:2009/09/01 14:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!