※ ChatGPTを利用し、要約された質問です(原文:dllファイルの作成手順)
dllファイルの作成手順
このQ&Aのポイント
VisualStudio C++でのdllファイルの作成手順を説明します。
InstallShield2009でのカスタムアクションにおいて、PSAPI.dllを使用してプロセスの判定を行う方法について解説します。
InstallShieldを使用してmsiファイルを作成する際に、dllファイルの作成手順にミスがある可能性があるため、質問いたします。
今回初めて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と言う、公になっているノウハウの少ないツールがらみではありますが、宜しくお願いします。
お礼
連絡遅くなりまして申し訳ありません。 dllはプロジェクト作成時の設定で問題なく作成する事が出来ました。 それを使っての目的を果たすのはまた別の問題がありましたが、 dll作成に関してはおかげ様で理解する事が出来ました。 ありがとうございました。
補足
参考になる資料をありがとうございます。 まずは上記資料を元に勉強し、再度作成いたします。 その上で異常が残りましたらそのエラーSSを添付するようにします。 ありがとうございました。