<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: a few questions... in ThinApp</title>
    <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080095#M5041</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For no 3 - I have made a small program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's made in Delphi and the code is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;program remset;&lt;BR /&gt;&lt;BR /&gt;uses&lt;BR /&gt;&amp;nbsp;&amp;nbsp; SHFolder, Windows, Sysutils;&lt;BR /&gt;&lt;BR /&gt;const&lt;BR /&gt;&amp;nbsp;&amp;nbsp; SHGFP_TYPE_CURRENT = 0;&lt;BR /&gt;&lt;BR /&gt;var&lt;BR /&gt;&amp;nbsp;&amp;nbsp; path: array[0..MAX_PATH] of char;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i, fl: Integer;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Found: array of string;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s, Name: AnsiString;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Error: Boolean = False;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; doAsk: Boolean = False;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; isInstall: Boolean = True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DisplayErrorMessages: Boolean = False;&lt;BR /&gt;&lt;BR /&gt;function Ceil(const X: Extended): Integer;&lt;BR /&gt;begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Result := Integer(Trunc(X));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if Frac(X) &amp;gt; 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inc(Result);&lt;BR /&gt;end;&lt;BR /&gt;&lt;BR /&gt;procedure FindAll(DirName: string);&lt;BR /&gt;var sr: TSearchRec;&lt;BR /&gt;begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if DirName[Length(DirName)] &amp;lt;&amp;gt; '\' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirName := Dirname + '\';&lt;BR /&gt;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if FindFirst(DirName + '*.*', faDirectory, sr) = 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repeat&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sr.Name &amp;lt;&amp;gt; '.') and (sr.Name &amp;lt;&amp;gt; '..') then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inc(fl);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fl &amp;gt; Length(Found) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLength(Found, Ceil(1.1 * fl));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found[fl - 1] := 'd ' + DirName + sr.Name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindAll(DirName + sr.Name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; until FindNext(sr) &amp;lt;&amp;gt; 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindClose(sr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if FindFirst(DirName + '*.*', faAnyFile, sr) = 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repeat&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inc(fl);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fl &amp;gt; Length(Found) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLength(Found, Ceil(1.1 * fl));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found[fl - 1] := 'f ' + DirName + sr.Name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; until FindNext(sr) &amp;lt;&amp;gt; 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindClose(sr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;end;&lt;BR /&gt;&lt;BR /&gt;begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if ParamCount = 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'No parameter set!', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for i := 2 to ParamCount do&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AnsiLowerCase(ParamStr(i)) = '/ask' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doAsk := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AnsiLowerCase(ParamStr(i)) = '/uninstall' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isInstall := False;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AnsiLowerCase(ParamStr(i)) = '/verbose' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DisplayErrorMessages := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not SUCCEEDED(SHGetFolderPath(0, CSIDL_APPDATA, 0, SHGFP_TYPE_CURRENT, @path[0])) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if DisplayErrorMessages then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'Problem getting AppData folder name!', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s := ParamStr(1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if s[Length(s)] = '\' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Delete(s, Length(s), 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s := ExtractFileName(s);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i := Pos(' (vmware thinapp)', AnsiLowerCase(s));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if i &amp;gt; 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s := Copy(s, 1, i - 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if s = '' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if DisplayErrorMessages then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'Error getting folder name!', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if DirectoryExists(path + '\Thinstall\' + s) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if doAsk then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if isInstall then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if MessageBox(0, PChar('Previous settings found in "AppData\Thinstall\' + s + '".'#13#10'Do you want the data to be deleted?'), 'Warning', MB_YESNO or MB_ICONWARNING) &amp;lt;&amp;gt; 6 {mrYes} then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if MessageBox(0, PChar('Do you want the current settings from&amp;nbsp; "AppData\Thinstall\' + s + '" to be deleted?'), 'Warning', MB_YESNO or MB_ICONWARNING) &amp;lt;&amp;gt; 6 {mrYes} then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fl := 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindAll(path + '\Thinstall\' + s);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fl &amp;gt; 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i := fl - 1 downto 0 do&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name := Copy(Found[i], 3, Length(Found[i]) - 2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetFileAttributes(PChar(Name), FILE_ATTRIBUTE_NORMAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if Found[i][1] = 'f' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := not DeleteFile(Name)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := not RemoveDir(Name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLength(Found, 0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := not RemoveDir(path + '\Thinstall\' + s);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if Error and DisplayErrorMessages then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'Not all the data could be removed...', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;end.&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I attached the compiled exe and I will explain how it can be used for those who might find it useful.&lt;/P&gt;&lt;P&gt;Now, using a msi editor (like Orca or InstEd) open template.msi from ThinApp's folder.&lt;/P&gt;&lt;P&gt;Add a row in Binary section with the name remset and the path to the exe file as value.&lt;/P&gt;&lt;P&gt;In CustomAction section add 2 rows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RemovePreviousSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; 258&amp;nbsp;&amp;nbsp;&amp;nbsp; remset&amp;nbsp;&amp;nbsp;&amp;nbsp; "[INSTALLDIR]"&lt;/P&gt;&lt;P&gt;RemoveCurrentSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; 258&amp;nbsp;&amp;nbsp;&amp;nbsp; remset&amp;nbsp;&amp;nbsp;&amp;nbsp; "[INSTALLDIR]" /uninstall&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In InstEd set 0x0102 instead of 258.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first is for installation, the second is for uninstallation.&lt;/P&gt;&lt;P&gt;If you want to be asked if it's ok to delete add /ask as a parameter at Target.&lt;/P&gt;&lt;P&gt;In InstallExecutteSequence add these rows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RemoveCurrentSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; REMOVE&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&lt;/P&gt;&lt;P&gt;RemovePreviousSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT Installed OR REINSTALL&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now save the changes made to the msi file and close the editor.&lt;/P&gt;&lt;P&gt;Rebuild the application(s) with relink or build new one(s).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Feedback is appreciated - to help improve it...&lt;/P&gt;&lt;DIV id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 01 Apr 2011 08:55:09 GMT</pubDate>
    <dc:creator>Cosmin2</dc:creator>
    <dc:date>2011-04-01T08:55:09Z</dc:date>
    <item>
      <title>a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080086#M5032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;BR /&gt;Is it possible to implement these:&lt;BR /&gt;1. The Sandbox has a font file (in %Fonts%). But if on the OS the font file with the same name is newer version, the Sandbox should use the one from the OS.&lt;BR /&gt;2. If the Sandbox path is set to the same folder but can't write the modifications (maybe is a CD/DVD, maybe there isn't enough free space available or perhaps doesn't have enough rights to write there...) then it should write in %AppData%\Thinstall.&lt;BR /&gt;3. When installing msi it should automatically erase the folder with the same project name from %AppData%\Thinstall (if it's gonna use that folder). This way you can avoid problems (like it happened to me).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for any idea...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Mar 2011 06:13:20 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080086#M5032</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-03-16T06:13:20Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080087#M5033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;EM&gt;1. The Sandbox has a font file (in %Fonts%). But if on the OS the font file with the same name is newer version, the Sandbox should use the one from the OS.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is not such a build-in option for failover based on font version. It could be possible to create script that would check such a condition and do some actions.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;2. If the Sandbox path is set to the same folder but can't write the modifications (maybe is a CD/DVD, maybe there isn't enough free space available or perhaps doesn't have enough rights to write there...) then it should write in %AppData%\Thinstall.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there is a problem with Sandbox, Thinapped application wouldn't start. There is not build-in option to failover sandbox location. And it cannot be neither scripted.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;3. When installing msi it should automatically erase the folder with the same project name from %AppData%\Thinstall (if it's gonna use that folder). This way you can avoid problems (like it happened to me). &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think it's issue of MSI package/template. I'm not sure if you can implement native support to delete any directory using MSI. But I think you can create some script and put it into MSI package and you can script deletion of needed directory.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Mar 2011 07:50:34 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080087#M5033</guid>
      <dc:creator>Cievo</dc:creator>
      <dc:date>2011-03-16T07:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080088#M5034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;But how can I:&lt;/P&gt;&lt;P&gt;1. check the font version using a script&lt;/P&gt;&lt;P&gt;2. "tell" to ThinApp which one it should use&lt;/P&gt;&lt;P&gt;3. add it to the project to be started before the exe...?&lt;/P&gt;&lt;P&gt;Sorry for asking so many questions but in this matter I'm a total newbie :smileyblush:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Mar 2011 11:14:02 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080088#M5034</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-03-16T11:14:02Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080089#M5035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;EM&gt;1. check the font version using a script&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have no idea how to determine font version &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.vmware.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;. And I'm not sure if fonts have any kind of versioning.&lt;/P&gt;&lt;P&gt;If I would do this I would do checksum on font file I want to use and copare it to checksum used file on user's computer. Install font if checksums differ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;2. "tell" to ThinApp which one it should use&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't understand what you mean. I think fonts are used by application and not by ThinApp. And if application is written to use for example font with name "Arial very bold", application (neither it's native or virtualized) asks OS to provide its font. There is an option to write script which will run just before running virtulized application. I would compare font files as I mentioned abobe and "install" font if needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All font files used in OS (windows based) are store in directory &lt;EM&gt;%SystemRoot%\Fonts\&lt;/EM&gt; and information about installed fonts are in registry key &lt;EM&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts&lt;/EM&gt; so changing this two places is enought to install new font using following vbs script (script comes from web &lt;A href="http://www.edugeek.net/forums/scripts/4756-script-install-fonts-workstations.html"&gt;http://www.edugeek.net/forums/scripts/4756-script-install-fonts-workstations.html&lt;/A&gt;&lt;img class="lia-deferred-image lia-image-emoji" src="https://communities.vmware.com/html/@496A89FA088F62A110AE1F7E1799BA25/emoticons/1f61e.png" alt=":disappointed_face:" title=":disappointed_face:" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;' ****************************************************************************&lt;BR /&gt;' Copy Fonts From Network Share To C:\WINDOWS\FONTS Folder Of Workstation&lt;BR /&gt;' ****************************************************************************&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;Set WshShell = CreateObject("WScript.Shell")&lt;BR /&gt;WshShell.Run "xcopy.exe ""&lt;/SPAN&gt;&lt;A href="https://communities.vmware.com/"&gt;&lt;SPAN style="font-size: 8pt;"&gt;\\%SERVERNAME%\%SHARE&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="font-size: 8pt;"&gt; \FONTS"" ""C:\windows\fonts"" /C /I /S /E /H /Y /Q", 1,True&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;' ****************************************************************************&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;BR /&gt;' Imports The Registry Information For The New Fonts - Add A New Line For Each New Font&lt;BR /&gt;' Example : WshShell. RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\%FONT REG KEY%", "%FONT REG KEY ENTRY%", "REG_SZ"&lt;BR /&gt;' ****************************************************************************&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;Set WshShell = WScript.CreateObject("WScript.Shell")&lt;BR /&gt;WshShell. RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\Twiggy-Bold (TrueType)", "Twiggy-Bold.ttf", "REG_SZ"&lt;BR /&gt;WshShell. RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\Twiggy-Light (TrueType)", "Twiggy-Light.ttf", "REG_SZ"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Of course you can add more cool stuff to this script. Some checking if file exists and so on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;3. add it to the project to be started before the exe...?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, before executable of aplication. Not before ThinApp Entry Point. Read at &lt;A href="http://pubs.vmware.com/thinapp4/help/scripts.html#996384"&gt;http://pubs.vmware.com/thinapp4/help/scripts.html#996384&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Sorry for asking so many questions but in this matter I'm a total newbie :smileyblush:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's why this forum is doing it's job well. &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.vmware.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Mar 2011 12:00:38 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080089#M5035</guid>
      <dc:creator>Cievo</dc:creator>
      <dc:date>2011-03-16T12:00:38Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080090#M5036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2011 04:48:51 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080090#M5036</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-03-18T04:48:51Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080091#M5037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can, you, please, mark this thread as answered if you don't have more questions?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2011 14:02:23 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080091#M5037</guid>
      <dc:creator>Cievo</dc:creator>
      <dc:date>2011-03-18T14:02:23Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080092#M5038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, I will mark it, even thow I didn't get the answer 100%...&lt;/P&gt;&lt;P&gt;I gave up searching... I didn't know I have to mark it, sorry.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2011 14:08:32 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080092#M5038</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-03-18T14:08:32Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080093#M5039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hmm...and what other questions do you have?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's discuss them here.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2011 18:25:41 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080093#M5039</guid>
      <dc:creator>Cievo</dc:creator>
      <dc:date>2011-03-18T18:25:41Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080094#M5040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your kind offer but for now I have to solve other (more pressing) problems.&lt;/P&gt;&lt;P&gt;Best regards, Cosmin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 19 Mar 2011 06:05:27 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080094#M5040</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-03-19T06:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080095#M5041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For no 3 - I have made a small program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's made in Delphi and the code is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;program remset;&lt;BR /&gt;&lt;BR /&gt;uses&lt;BR /&gt;&amp;nbsp;&amp;nbsp; SHFolder, Windows, Sysutils;&lt;BR /&gt;&lt;BR /&gt;const&lt;BR /&gt;&amp;nbsp;&amp;nbsp; SHGFP_TYPE_CURRENT = 0;&lt;BR /&gt;&lt;BR /&gt;var&lt;BR /&gt;&amp;nbsp;&amp;nbsp; path: array[0..MAX_PATH] of char;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i, fl: Integer;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Found: array of string;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s, Name: AnsiString;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Error: Boolean = False;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; doAsk: Boolean = False;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; isInstall: Boolean = True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; DisplayErrorMessages: Boolean = False;&lt;BR /&gt;&lt;BR /&gt;function Ceil(const X: Extended): Integer;&lt;BR /&gt;begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Result := Integer(Trunc(X));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if Frac(X) &amp;gt; 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inc(Result);&lt;BR /&gt;end;&lt;BR /&gt;&lt;BR /&gt;procedure FindAll(DirName: string);&lt;BR /&gt;var sr: TSearchRec;&lt;BR /&gt;begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if DirName[Length(DirName)] &amp;lt;&amp;gt; '\' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirName := Dirname + '\';&lt;BR /&gt;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if FindFirst(DirName + '*.*', faDirectory, sr) = 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repeat&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sr.Name &amp;lt;&amp;gt; '.') and (sr.Name &amp;lt;&amp;gt; '..') then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inc(fl);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fl &amp;gt; Length(Found) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLength(Found, Ceil(1.1 * fl));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found[fl - 1] := 'd ' + DirName + sr.Name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindAll(DirName + sr.Name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; until FindNext(sr) &amp;lt;&amp;gt; 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindClose(sr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if FindFirst(DirName + '*.*', faAnyFile, sr) = 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repeat&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inc(fl);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fl &amp;gt; Length(Found) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLength(Found, Ceil(1.1 * fl));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Found[fl - 1] := 'f ' + DirName + sr.Name;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; until FindNext(sr) &amp;lt;&amp;gt; 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindClose(sr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;end;&lt;BR /&gt;&lt;BR /&gt;begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if ParamCount = 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'No parameter set!', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for i := 2 to ParamCount do&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AnsiLowerCase(ParamStr(i)) = '/ask' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doAsk := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AnsiLowerCase(ParamStr(i)) = '/uninstall' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isInstall := False;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AnsiLowerCase(ParamStr(i)) = '/verbose' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DisplayErrorMessages := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not SUCCEEDED(SHGetFolderPath(0, CSIDL_APPDATA, 0, SHGFP_TYPE_CURRENT, @path[0])) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if DisplayErrorMessages then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'Problem getting AppData folder name!', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s := ParamStr(1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if s[Length(s)] = '\' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Delete(s, Length(s), 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s := ExtractFileName(s);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i := Pos(' (vmware thinapp)', AnsiLowerCase(s));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if i &amp;gt; 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s := Copy(s, 1, i - 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if s = '' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if DisplayErrorMessages then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'Error getting folder name!', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if DirectoryExists(path + '\Thinstall\' + s) then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if doAsk then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if isInstall then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if MessageBox(0, PChar('Previous settings found in "AppData\Thinstall\' + s + '".'#13#10'Do you want the data to be deleted?'), 'Warning', MB_YESNO or MB_ICONWARNING) &amp;lt;&amp;gt; 6 {mrYes} then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if MessageBox(0, PChar('Do you want the current settings from&amp;nbsp; "AppData\Thinstall\' + s + '" to be deleted?'), 'Warning', MB_YESNO or MB_ICONWARNING) &amp;lt;&amp;gt; 6 {mrYes} then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fl := 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FindAll(path + '\Thinstall\' + s);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fl &amp;gt; 0 then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i := fl - 1 downto 0 do&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name := Copy(Found[i], 3, Length(Found[i]) - 2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetFileAttributes(PChar(Name), FILE_ATTRIBUTE_NORMAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if Found[i][1] = 'f' then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := not DeleteFile(Name)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := not RemoveDir(Name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLength(Found, 0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := not RemoveDir(path + '\Thinstall\' + s);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error := True;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if Error and DisplayErrorMessages then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(0, 'Not all the data could be removed...', 'Error', MB_OK or MB_ICONERROR);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;end.&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I attached the compiled exe and I will explain how it can be used for those who might find it useful.&lt;/P&gt;&lt;P&gt;Now, using a msi editor (like Orca or InstEd) open template.msi from ThinApp's folder.&lt;/P&gt;&lt;P&gt;Add a row in Binary section with the name remset and the path to the exe file as value.&lt;/P&gt;&lt;P&gt;In CustomAction section add 2 rows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RemovePreviousSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; 258&amp;nbsp;&amp;nbsp;&amp;nbsp; remset&amp;nbsp;&amp;nbsp;&amp;nbsp; "[INSTALLDIR]"&lt;/P&gt;&lt;P&gt;RemoveCurrentSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; 258&amp;nbsp;&amp;nbsp;&amp;nbsp; remset&amp;nbsp;&amp;nbsp;&amp;nbsp; "[INSTALLDIR]" /uninstall&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In InstEd set 0x0102 instead of 258.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first is for installation, the second is for uninstallation.&lt;/P&gt;&lt;P&gt;If you want to be asked if it's ok to delete add /ask as a parameter at Target.&lt;/P&gt;&lt;P&gt;In InstallExecutteSequence add these rows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RemoveCurrentSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; REMOVE&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&lt;/P&gt;&lt;P&gt;RemovePreviousSettings&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT Installed OR REINSTALL&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now save the changes made to the msi file and close the editor.&lt;/P&gt;&lt;P&gt;Rebuild the application(s) with relink or build new one(s).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Feedback is appreciated - to help improve it...&lt;/P&gt;&lt;DIV id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2011 08:55:09 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080095#M5041</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-04-01T08:55:09Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080096#M5042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice from you to share your code &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.vmware.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2011 10:47:53 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080096#M5042</guid>
      <dc:creator>Cievo</dc:creator>
      <dc:date>2011-04-01T10:47:53Z</dc:date>
    </item>
    <item>
      <title>Re: a few questions...</title>
      <link>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080097#M5043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No problem, it's not much of a code anyway...&amp;nbsp; :smileygrin:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Later edit: I improved the code a bit. One of the improvements is that now is "silent" - it displays error messages only if /verbose parameter is used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Question: Is there any better way to find out the path to sandbox..? Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Apr 2011 11:04:04 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/ThinApp/a-few-questions/m-p/2080097#M5043</guid>
      <dc:creator>Cosmin2</dc:creator>
      <dc:date>2011-04-04T11:04:04Z</dc:date>
    </item>
  </channel>
</rss>

