4

The reason of this question is that I've made a silent installer of VisualStudio 2013 with some extensions and I would like to add the GhostDoc extension to the unatended process, but GhostDoc can't be installed like an VSIX file, it is an MSI installer but it seems that also can't be silent installed like a normal MSI package.

So I've tried this:

  1. Normally install GhostDoc (free version)
  2. Go to the directory where the plugin has expanded their files: C:\Program Files\Microsoft Visual Studio 12.0\Common7\Ide\Extensions\XXXXX to save the files in other place for later.

  3. Uninstall GhostDoc

  4. Paste the retrieved files again on the same directory of step 2.

But don't worked and I don't know why

I suppose that maybe I should need to do more things like register "X" file using what?, also seems that VS or VSIX generates a random directory name on the extensions directory for each new extension installation (even if the extension is the same all the time).

So how I could manage this? (I'm on VS2013)

PS: GhostDoc only provides support silent installation for the pro version.

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
ElektroStudios
  • 19,105
  • 33
  • 200
  • 417
  • Maybe you should ask your question right in the GhostDoc support forum http://community.submain.com/forums/30/ShowForum.aspx ? – Doc Brown Jan 07 '14 at 19:23
  • @ElektroStudios I'm sorry but there might be a reason that the free version of GhostDoc doesn't support silent deployment - free version is licensed to the individual who downloaded it and the copy can be only used by that individual. There is also also reverse engineering clause in the EULA... And, yes, I'm representing SubMain, the company that makes GhostDoc. – sergeb Jan 08 '14 at 00:08
  • @sergeb I feel sorry for don't read the EULA (I don't readed because it's a free version) but by the way the silent installer is only for me for when I will reinstall Windows OS + VisualStudio then stills be a individual use, but then if I understanding good trying to do a silent install of ghostdoc it's illegal or something similar?, in that case I would delete my question and sorry again, but it's a pity that a simple installer feature can't be added to the free version, it's just to be installed automated! :( PS: Sorry for my english. seems that I can't delete it because has 1 answer – ElektroStudios Jan 08 '14 at 06:50
  • @sergeb, 'reverse enginering' is a bit dubious when all you're doing is use the provided setup executable with the right commands which your installer happily wrote to the setup log file. I understand you concern and will place a disclaimer in my answer. – jessehouwing Jan 08 '14 at 08:56
  • @sergeb please could you be so gentile to provide help about which command to use to perform an uninstallation using `SubMain.GhostDoc.Setup.exe` file? (I've no GhostDoc uninstaller on the Windows Installers), I've tried this but don't uninstall: `SubMain.GhostDoc.Setup.exe /action=uninstall /path="%CD%\SubMain.GhostDoc.Package.dll"` – ElektroStudios Jan 08 '14 at 09:47
  • I suspect the uninstaller just deletes the folders mentioned in the commandline. Looking at the TaskManager, I don't see the uninstaller ever calling any other process to "unregister" Ghostdoc. – jessehouwing Jan 08 '14 at 10:21
  • Really it's a nightmare to silent-install the free version for a guy that registered the email and did it all legally... with VS closed I need first install GhostDoc (silentlly) then Open VV and restart VS to see the GhostDoc extension and I don't know why, also I can't find a way to perform an uninstallation. – ElektroStudios Jan 08 '14 at 11:21

1 Answers1

3

DISCLAIMER

The Ghostdoc End User Agreement explicitly states that the free version is for personal use only and therefore does not support silent installations. This limitation is in place so that you're not distributing GhostDoc to every developer in your organisation without paying for the Pro version.

The free version should be downloaded by the individual developer and registered to their email.

That said, if, for pure personal purposes, you want to install GhostDoc Free edition to your machine silently You can take the binaries from a second machine, place them in the right folder and run the setup executable that is installed by the Gostdoc installer. As far as I can tell, this cannot be considered reverse engineering and if you're using it purely for your own personal purposes, then you are not breaking the EULA.

How to do it

Copy the Ghostdoc binaries from your other machine, you can find them here:

C:\Program Files (x86)\SubMain\GhostDoc\

In that folder you will find a SubMain.Ghostdoc.Setup.exe, which drops a log file each time you run it. If you open up the log file from a succesfull installation you can get the correct syntax for this executable.

On my machine the log looks like this:

C:\Program Files (x86)\SubMain\GhostDoc\SubMain.GhostDoc.Setup.exe /action=install /TARGETDIR=C:\Program Files (x86)\SubMain\GhostDoc\ /EXTDIR2010=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\\Extensions\\SubMain\\GhostDoc\\1.0\ /EXTDIR2011=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\\\Extensions\\SubMain\\GhostDoc\\1.0\ /EXTDIR2012=\\Extensions\\SubMain\\GhostDoc\\1.0\ /VS2005= /VS2008= /VS2010= /VS2011=1 /VS2012= /path=C:\Program Files (x86)\SubMain\GhostDoc\SubMain.GhostDoc.Package.dll

note Add " around your paths if they contain spaces.

For normal Vsix extensions you'd just be able to use

(for people stumbling onto this question looking to install a normal extension)

For a normal Visual Studio Extension you can use:

After installing Visual Studio to the machine, you can use the vsixinstaller.exe that lives in the visual studio installation folder to install extensions.

By default vsixinstaller.exe can be found here:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE

Call it using /quiet for silent installations. /? for help:

enter image description here

jessehouwing
  • 106,458
  • 22
  • 256
  • 341
  • I appreciate your help but I've tried to manage both Orca and VSIX installer, the problem is, like I've said, seems that can't be installed like a normal msi so I can't imagine how Orca could help me this time. I mean that GhostScript it's an executable file which extracts an msi package on the TEMP directory, that extracted MSI package is totally silent and it 'installs' the extension on the directory but don't works,I think that I need to register some file before using the msi.Also I've tried to put all in a zipped vsix file but the vsixinstaller throws an error about vsix.manifest file. – ElektroStudios Jan 07 '14 at 17:00
  • the first step mentioned in your answer is incorrect but it's not an error of yours, the logfile writes all the paths without double-quotes and need to be double-quoted. after that simple modification I've copied the files to a random directory, I've uninstalled ghostdoc, and tried to run the command parametters with the `SubMain.GhostDoc.Setup.exe` from the random dir but throws an error because the last parametter can't be found (of course, I've uninstalled GhostDoc as I've said): `/path="C:\Program Files (x86)\GhostDoc\SubMain.GhostDoc.Package.dll"` I think that I missunderstanded that step – ElektroStudios Jan 08 '14 at 09:17
  • Also I've tried to (after uninstalling ShotDoc), put the files on the same directory that they were installed to run the commandline parametters with the setup file, now don't throws an error but it not installs on VS, what I'm missing? – ElektroStudios Jan 08 '14 at 09:22
  • This is the path you'll need to investigate further. I can't help yo any further than I already did without breaking the User Agreement. – jessehouwing Jan 08 '14 at 09:24
  • sorry I were wrong, it installs ok, the unique problem is that any uninstaller is present in the Windows uninstallers performing the installation with the step that you've said and ghostdoc can't be uninstalled from VS IDE, but that is the less of my problems. just a suggestion to you answer is to comment that the paths with spaces need to be enclosed with double-quotes to perform the installation. – ElektroStudios Jan 08 '14 at 09:31
  • 1
    These are my setup commandline parametters if someone is interested to install his own email registered free copy of GhostDoc on his own machine for personal use, in an automated installation step targeting VS2013: `SubMain.GhostDoc.Setup.exe /action=install /TARGETDIR="%CD%" /EXTDIR2012="%PROGRAMFILES(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\\\Extensions\\SubMain\\GhostDoc\\1.0\" /VS2012=1 /path="%CD%\SubMain.GhostDoc.Package.dll"` – ElektroStudios Jan 08 '14 at 09:40