分類:[インストーラ全般]
c#で作成したアプリをいくつかのPCに展開したところ、エラーになるPCがありました。
調査すると USER32.DLL がないためエラーになったようです。
対策として ILMerge を使用してアプリそのものに USER32.DLL を組み入れようとしました。
そこで以下の問題が発生しました。
・[DllImport("user32.dll")] でインポートしている USER32.DLL はいったいどこにあるのでしょうか(Everythingでさがしたらサイズ違いのものが複数ありました)
・それらしいファイルを指定したらエラーになりました。 何が悪かったのでしょうか?
構文
"c:\〜\ILMerge" /out:new_hoge.exe hoge.exe "C:\Windows\WinSxS\〜\user32.dll"
エラーメッセージ
An exception occurred during merging:
ILMerge.Merge: Could not load assembly from the location 'C:\Windows\WinSxS\〜\user32.dll'. Skipping and processing rest of arguments.
場所 ILMerging.ILMerge.Merge()
場所 ILMerging.ILMerge.Main(String[] args)
賢者の方、お知恵をお貸しください。
|