I've been trying to get an installer working for an IBugTraqProvider application that I wrote for our internal project tracking system. But after I install it and try to configure the provider, I get an error that the provider can not be created and that it might not be installed correctly.
Here's my inno setup script. Can anyone tell me what I am doing wrong? I've verified the GUID in the setup script is the same as the guid in my plugin class.
I am running the installer on Windows 7, 64bit.
#define MyAppName "TortoisePTS"
#define MyAppVersion "1.0"
#define MyAppPublisher "**********"
#define MyAppURL "http://www.*********.com"
#define MyAppID = "{{9C37AA48-FEA5-48E5-A534-A204A169F42D}"
[Setup]
AppId={#MyAppID}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={开发者_如何学运维#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
CreateAppDir=no
OutputBaseFilename={#MyAppName} Setup
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Files]
Source: "bin\x64\Release\{#MyAppName}.dll"; DestDir: "{cf}\{#MyAppName}"; Check: Is64BitInstallMode
Source: "bin\x64\Release\{#MyAppName}.pdb"; DestDir: "{cf}\{#MyAppName}"; Check: Is64BitInstallMode
Source: "bin\x64\Release\{#MyAppName}.dll.config"; DestDir: "{cf}\{#MyAppName}"; Check: Is64BitInstallMode
Source: "bin\x86\Release\{#MyAppName}.dll"; DestDir: "{cf}\{#MyAppName}"; Check: not Is64BitInstallMode
Source: "bin\x86\Release\{#MyAppName}.pdb"; DestDir: "{cf}\{#MyAppName}"; Check: not Is64BitInstallMode
Source: "bin\x86\Release\{#MyAppName}.dll.config"; DestDir: "{cf}\{#MyAppName}"; Check: not Is64BitInstallMode
[Registry]
Root: HKCR; SubKey: {#MyAppName}.Plugin; Flags: UninsDeleteKey;
Root: HKCR; SubKey: {#MyAppName}.Plugin; ValueType: string; ValueData: {#MyAppName}.Plugin;
Root: HKCR; SubKey: {#MyAppName}.Plugin\CLSID; ValueType: string; ValueData: {#MyAppId}; Flags: UninsDeleteKey;
Root: HKCR; SubKey: CLSID\{#MyAppID}; Flags: UninsDeleteKey;
Root: HKCR; SubKey: CLSID\{#MyAppID}; ValueType: string; ValueData: {#MyAppName};
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32; ValueType: string; ValueData: mscoree.dll;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32; ValueType: string; ValueData: Both; ValueName: ThreadingModel;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32; ValueType: string; ValueData: {#MyAppName}.Plugin; ValueName: Class;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32; ValueType: string; ValueData: "{#MyAppName}, Version={#MyAppVersion}, Culture=neitral, PublicKeyToken=null"; ValueName: Assembly;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32; ValueType: string; ValueData: v2.0.50727; ValueName: RuntimeVersion;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32; ValueType: string; ValueData: {cf}\{#MyAppName}\{#MyAppName}.dll; ValueName: Codebase;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32\{#MyAppVersion}; Flags: UninsDeleteKey;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32\{#MyAppVersion}; ValueType: string; ValueData: {#MyAppName}.Plugin; ValueName: Class;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32\{#MyAppVersion}; ValueType: string; ValueData: "{#MyAppName}, Version={#MyAppVersion}, Culture=neitral, PublicKeyToken=null"; ValueName: Assembly;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32\{#MyAppVersion}; ValueType: string; ValueData: v2.0.50727; ValueName: RuntimeVersion;
Root: HKCR; SubKey: CLSID\{#MyAppID}\InprocServer32\{#MyAppVersion}; ValueType: string; ValueData: {cf}\{#MyAppName}\{#MyAppName}.dll; ValueName: Codebase;
Root: HKCR; SubKey: CLSID\{#MyAppID}\ProgId; Flags: UninsDeleteKey;
Root: HKCR; SubKey: CLSID\{#MyAppID}\ProgId; ValueType: string; ValueData: {#MyAppName}.Plugin;
Root: HKCR; SubKey: "CLSID\{#MyAppID}\Implemented Categories\{{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}"; Flags: UninsDeleteKey;
Root: HKCR; SubKey: "CLSID\{#MyAppID}\Implemented Categories\{{3494FA92-B139-4730-9591-01135D5E7831}"; Flags: UninsDeleteKey;
[Run]
Filename: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe; Parameters: /codebase {#MyAppName}.dll; WorkingDir: {cf}\{#MyAppName}; StatusMsg: "Registering plugin ..."; Flags: runhidden; Check: Is64BitInstallMode
Filename: C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe; Parameters: /codebase {#MyAppName}.dll; WorkingDir: {cf}\{#MyAppName}; StatusMsg: "Registering plugin ..."; Flags: runhidden; Check: not Is64BitInstallMode
[UninstallRun]
Filename: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe; Parameters: /unregister {#MyAppName}.dll; WorkingDir: {cf}\{#MyAppName}; StatusMsg: "UnRegistering plugin ..."; Flags: runhidden; Check: Is64BitInstallMode
Filename: C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe; Parameters: /unregister {#MyAppName}.dll; WorkingDir: {cf}\{#MyAppName}; StatusMsg: "UnRegistering plugin ..."; Flags: runhidden; Check: not Is64BitInstallMode
Root: HKCR; SubKey: CLSID\{#MyAppID}; ValueType: string; ValueData: {#MyAppName};
Should have been:
Root: HKCR; SubKey: CLSID\{#MyAppID}; ValueType: string; ValueData: {#MyAppName}**.Plugin**;
精彩评论