DLLの操作は初めてです。私はLinuxでいくつかの本格的なC++プログラミングを行い、DLLが何であるかを知っていますが。カスタムアクションを使用してWindowsインストーラーをコーディングする必要があります。このために、Visual Studio 2010で新しいDLLプロジェクトを作成します。StdAfx.hファイルにmsi.hを含めようとすると、次のエラーが発生します。
1>------ Build started: Project: CustomAction, Configuration: Debug Win32 ------
1> DllEntry.cpp
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msi.h(86): error C2146: syntax error : missing ';' before identifier 'WINAPI'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msi.h(86): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msi.h(86): error C2146: syntax error : missing ';' before identifier 'MsiCloseHandle'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msi.h(86): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
......................
プロジェクトには、StdAfxヘッダーとStdAfx.hファイルを含むStdAfx.cpp以外には何もありません。
#include <msi.h>
#include <msiquery.h>
#include <stdio.h>
プロジェクトのリンカー入力プロパティでmsi.libにパスを追加してみました。うまくいきませんでした。また、Windows sdkディレクトリのlibフォルダー、includeフォルダー、binフォルダーにパスを追加しようとしましたが、これも機能しませんでした。これの原因は何ですか。また、私はこの分野の初心者なので、Windowsインストーラーでカスタムアクションを使用するためのチュートリアルへのポインターを誰かに教えてもらえますか。