0

installshield 2009 を使用してアプリケーション インストーラーを作成します。このアプリケーションは 32 ビット アプリケーションです。現在、クライアントからの要件として、ソフトウェアは Windows アプリ認定キット テスト (WACK) に合格する必要があります。次に、デスクトップ アプリケーションとしてテストしようとしましたが、結果は失敗しました。

レジストリ作成テストで次のエラーが検出されました:

アプリは必要なレジストリ エントリを作成しませんでした。
適切なプログラムの追加と削除の値を書き込みます
エラーが見つかりました: レジストリ作成テストで次のエラーが検出されました: アプリは必要なレジストリ エントリを作成しませんでした。
オプションではない値 'DisplayName' が欠落しているか、プログラム に対して無効です。
プログラム のオプション値 'InstallLocation' が見つからないか無効です。
オプションではない値 'Publisher' が欠落しているか、プログラム に対して無効です。
プログラム のオプション値 'UninstallString' が見つからないか無効です。
オプションではない値 'VersionMajor' が欠落しているか、プログラム に対して無効です。
オプションではない値 'VersionMinor' が欠落しているか、プログラム に対して無効です。
オプションではない値 'MajorVersion' が欠落しているか、プログラム に対して無効です。
オプションではない値 'MinorVersion' が欠落しているか、プログラム に対して無効です。
プログラム のオプション値 'InstallLocation' が見つからないか無効です。

インストール済みの別のマシンでregeditを確認します。
レジストリ値は正しいです。上記のキーは空でも無効でもありません

Windows レジストリ エディタ バージョン 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall{9DAA8BAB-2DD2-4BD5-A3A2-ACB2A28B8041}]
"AuthorizedCDFPrefix"=""
"Comments"=""
"Contact"=""
"DisplayVersion"="9.1 .0"
"HelpLink"=""
"HelpTelephone"="(123) 123-1234"
"InstallDate"="20140115"
"InstallLocation"="C:\Application Sample\"
"InstallSource"="C:\Install\ "
"ModifyPath"=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,78,\ 00 ,65,00,20,00,2f,00,58,00,7b,00,39,00,44,00,41,00,41,00,38,00,42,00,41,00,\ 42,00,2d,00,32,00,44,00,44,00,32,00,2d,00,34,00,42,00,44,00,35,00,2d,00,41,\ 00,33,00,41,00,32,00,2d,00,41,00 ,43,00,42,00,32,00,41,00,32,00,38,00,42,00,\ 38,00,30,00,34,00,31,00,7d,00, 00,00
"NoModify"=dword:00000001
"NoRepair"=dword:00000001
"Publisher"="Sample Publisher"
"Readme"=""
"Size"=""
"EstimatedSize"=dword:0002861e
"UninstallString"=hex(2): 4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,\ 78,00,65,00,20,00,2f ,00,58,00,7b,00,39,00,44,00,41,00,41,00,38,00,42,00,41,\ 00,42,00,2d,00,32, 00,44,00,44,00,32,00,2d,00,34,00,42,00,44,00,35,00,2d,00,\ 41,00,33,00,41,00 ,32,00,2d,00,41,00,43,00,42,00,32,00,41,00,32,00,38,00,42,\ 00,38,00,30,00, 34,00,31,00,7d,00,00,00
"URLInfoAbout"="www.publisher.com"
"URLUpdateInfo"=""
"VersionMajor"=dword:00000009
"VersionMinor"=dword:00000001
"WindowsInstaller"=dword:00000001
"Version"=dword:09010000
"Language"=dword:00000409
"DisplayName"="アプリケーション サンプル"



また、WACK に関連する Microsoft KB を確認したところ、無効なレジストリ値が原因でこのエラーが発生したか、インストール中にレジストリ値が作成されなかったことがわかりました。
誰もこれと同じ経験をしていますか? 修正方法は?
私はそれをグーグルで検索しようとしましたが、これを修正する方法を正確に教えてくれる人は誰もいません

4

3 に答える 3

2

上記のレジストリ エントリは、Windows インストーラによって自動的に作成されます。MSI パッケージでは作成されません。IS プロジェクトからの出力として EXE または MSI がありますか?

次のMSDN 記事のポイント 5.5 でわかるように、Microsoft は同じことを述べています。MSI パッケージのインストールでは、Windows インストーラーがマシンにインストーラーを登録した結果、エントリが自動的に作成されます。

于 2014-01-20T06:53:00.000 に答える
0

インストーラーの微調整に時間をかける前に、まず別のマシンで WACK を実行することをお勧めします。同じMSIが別のマシンでWACKテストに合格したことを知るために、ネットを検索してMSIファイルを「修正」するのに2日以上かかりました!

于 2015-01-29T12:13:27.730 に答える