1

私はインターネットで多くの例を読みましたが、何が悪いのか理解できません。インストール時にすべてのMySQLサーバーファイルを特定の場所にコピーするWiXインストーラーがあります。次に、セットアップが終了する前にMySQLInstanceConfig.exeを実行します。

<CustomAction Id="CAConfigureMySqlInstance"
              Directory="dir96BE76D0898DC48E62BC8465D43A5949"
              Impersonate="no"
              Execute="commit"
              ExeCommand="[dir96BE76D0898DC48E62BC8465D43A5949]MySQLInstanceConfig.exe"
              Return="check"
/>

<InstallExecuteSequence>
    <Custom Action='CAConfigureMySqlInstance' After='InstallFiles' />

    <!-- See this for Before/After sequence moments: http://msdn.microsoft.com/en-us/library/windows/desktop/aa371199(v=vs.85).aspx -->

</InstallExecuteSequence>

After='InstallFiles'インストーラーによってすべてのファイルが適切な場所に配置された後だと思います。これで、プログレスバーがインストーラーの「新しいファイルのコピー」に移動するのがわかります。次に、「このインストールを完了するために必要なプログラムを実行できませんでした」というメッセージが表示されます。ログファイルを見ると、次のように表示されます。

MSI(s)(54:94)[14:14:32:886]:注:1:1721 2:CAConfigureMySqlInstance 3:C:\ Program Files(x86)\ MyCompnay \ MySQL \ MySQL Server 5.5 \ bin \ 4: C:\ Program Files(x86)\ MyCompany \ MySQL \ MySQL Server 5.5 \ bin \ MySQLInstanceConfig.exe

'Run(Windows + R)'でそのパスをコピーするたびに、MySQL configuratorが実行されます!したがって、パスは正しいです。したがって、エラーの瞬間に、ファイルはすでにその場所にコピーされていると結論付けます。エラーコードは1721です。

に変更するたびにExeCommandC:\Windows\Explorer.EXE C:\SomeDirIKnowWindowsエクスプローラーが起動します...したがって、カスタムアクションはほぼ正しいようです...

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

5

私はそれを実行します

<CustomAction Id="CAConfigureMySqlInstance" 
              Directory="dir96BE76D0898DC48E62BC8465D43A5949"
              Impersonate="no"
              Execute="deferred"
              ExeCommand='"[dir96BE76D0898DC48E62BC8465D43A5949]MySQLInstanceConfig.exe"'
              Return="check"
/>

<InstallExecuteSequence>
  <Custom Action='CAConfigureMySqlInstance' Before='InstallFinalize' />
  <!-- See this for Before/After sequence moments: http://msdn.microsoft.com/en-us/library/windows/desktop/aa371199(v=vs.85).aspx -->
</InstallExecuteSequence>

使用されている引用符 => に注意してください。ExeCommand='"つまり、single、double、exe の場所、double、single です。

ばかげている!これに1時間以上費やしました!

于 2013-02-06T13:37:43.343 に答える