Delphi で記述された ActiveX Com サーバーがあります。それは正常に動作します。ただし、ファイルがスペースを含むディレクトリにある場合に登録すると、違いに気付きました。たとえば、コマンドを実行した後。
C:\スペースを含むパス> AutomationLibrary.exe /regserver
次のキーが作成されます。
HKCR\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 REG_SZ C:\Path With Spaces\AutomationLibrary.exe
HKCR\Wow6432Node\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 REG_SZ C:\Path With Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 REG_SZ C:\Path With Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\Wow6432Node\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 C:\Path With Spaces\AutomationLibrary.exe
ただし、代わりに次を実行する場合。
C:\Path_No_Spaces> AutomationLibrary.exe /regserver
HKCR\CLSID\{626F20B7-887E-456F-91C5-1BD7E973978D}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKCR\CLSID\{B25708A9-4A44-44AF-915D-7F24C8E0D5AE}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKCR\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 C:\Path_No_Spaces\AutomationLibrary.exe
HKCR\Wow6432Node\CLSID\{626F20B7-887E-456F-91C5-1BD7E973978D}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKCR\Wow6432Node\CLSID\{B25708A9-4A44-44AF-915D-7F24C8E0D5AE}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKCR\Wow6432Node\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 C:\Path_No_Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\CLSID\{626F20B7-887E-456F-91C5-1BD7E973978D}\LocalServer32C:\Path_No_Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\CLSID\{B25708A9-4A44-44AF-915D-7F24C8E0D5AE}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 C:\Path_No_Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{626F20B7-887E-456F-91C5-1BD7E973978D}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{B25708A9-4A44-44AF-915D-7F24C8E0D5AE}\LocalServer32 C:\Path_No_Spaces\AutomationLibrary.exe
HKLM\SOFTWARE\Classes\Wow6432Node\TypeLib\{BFAC1B1F-9520-4B2E-BB92-61D0CDBD7D98}\1.0\0\win32 C:\Path_No_Spaces\AutomationLibrary.exe
なぜ違いがあり、どうすれば修正できますか? 二重引用符は機能しないようです。コメントや提案は大歓迎です。これを Windows7 Enterprise SP1、64 ビットで実行しています。