Update icon from older version with inno setup - icons

I installed my icon with
Name: "{commondesktop}\TestApp {#VERSION}"; Filename: "{app}\TestApp.exe"; WorkingDir: "{app}"; IconFilename: "{app}\TestApp.ico";
and if I update my tool (checked in InitializeSetup()) the old icon is still available on desktop (old version number) and the new one also!
Is there a flag to remove the icon if the tool will be updated and not uninstalled?
thx

This is one of the reasons why you should generally not include the version number in your icon names.
You can, however, tell Inno to delete these in a later install like so:
[InstallDelete]
Type: files; Name: "{commondesktop}\TestApp 5.2.lnk"
Note that it is best practice to individually name all the previous versions that you have released, instead of using a wildcard. (This is because a wildcard might accidentally delete other icons that the user has created themselves, which they won't be happy about.)

Aparently, even if you delete and recreate shortcut link as in Miral's answer, Windows still takes exe icon from some cache.
There is another way. Ship separate .ico file within your installer, and then
use IconFilename parameter in [Icons] section to target that icon instead of the one in the exe.

Related

Changes made to Rocket.Chat are not included after building

I'm new to developing with Meteor and node-based apps.
I intend to create a PR for a problem i noticed in Rocket.Chat.
I git cloned the Rocket.Chat dev branch and made a change to a certain file:
https://github.com/RocketChat/Rocket.Chat/blob/develop/packages/rocketchat-oembed/client/oembedImageWidget.html
After that i ran the build-script successfully. My build started, but the change is not included.
Using the Chrome Dev Tools to inspect the change, i still see the original unchanged code.
I know it's a rather generic question and i'm sure the solution is kind of stupid, but any idea why ?
Thank you.
Kind regards
It looks like the file you modified is in the packages directory. This is dealt with differently.
Check the .meteor/packages files to see if this package is referenced, if it is, then it will install the package from the atmosphere package management system.
Here the steps required to make your changes work...
1) Edit the .meteor/packages file and change the reference to rocketchat:oembed to be simply oembed
2) Edit the file packages/rocketchat-oembed/package.js and do the same thing, change rocketchat:oembed to be simply oembed
Package.describe({
name: 'oembed',
version: '0.0.1',
summary: 'Message pre-processor that insert oEmbed widget in template',
git: ''
});
I think you can leave the directory names as is.
Meteor will now use your local package instead of going out to get the published version of it
In addition to #Mikkel's answer: I think you don't have to change package name, but just change its version. That should be enough for Meteor to rebuild this package from its source and you won't have any dependency issues.

Possible to change the application file's icon?

I'm using Inno Setup to create a Windows software installer, and would like to use a custom icon for the distributed exe file (which will be located in C > Program Files > MyProgram ).
So far, I've been able to get the custom icon to work (sort of) for the desktop shortcut, by using the following code, placed under the [Icon] section...
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico"; Tasks: desktopicon
When I say that it "sort of" worked... it did customize the desktop shortcut's icon, but the quality of the icon looks terrible compared to the quality of the original icon.
But the bigger issue is... I can't figure out how to customize the icon for the actual application (exe) file at all, or for the start menu shortcut.
I would have assumed that the following line would do the trick for the application file...
Name: "{pf}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico";
And I also assumed that the following code would do the trick for the start menu icon...
Name: "{commonstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico";
But no dice. It just uses the default icon.
Can anyone tell what I'm doing wrong? I would post the entire script here but it seems that the Stack Overflow code editor doesn't like a bunch of curly brackets over multiple lines (if someone knows a way around that I'll be happy to post the whole script).
And FYI... for this particular project, changing the exe icon prior to running it through Inno Setup doesn't appear to be an option (I tried changing it via Resource Hacker, and although it succeeded in changing the exe's icon, it corrupted the file in the process, to where it wouldn't even run :(
If it's not possible to customize the application file's icon using Inno Setup, then do I have any other options?
As you know the application icon is built into the .exe file. The Inno Setup cannot modify the .exe files. And there's no other way to override the application icon by an external one.
You have to edit the .exe file yourself, before building the installer.
I personally use the Resource Hacker and have no problems with it.
Make sure the license of the application you are modifying allows such customization.
The icons in Windows Start menu are indeed set using IconFilename. I also have no problems with that.
The problem might be that Windows caches the Start menu icons. So if you had that entry in Start menu before, reinstalling the application with new icons sometime won't make Windows reset the cache. It keeps displaying the old icons. Try to uninstall, restart, and reinstall.

Sublime Text 2 - Changing the icon on Windows

As the title says, how do you change Sublime Text 2 default icon on Windows(7 or 8)?
I've searched everywhere. I found the post by Jeffrey Way on Nettuts that explains how to change it on the Mac and it was as simple as putting the 'nameoftheicon.icns' file somewhere in the default folder.
Now I have two problems:
1) I can't find the folder where the icns file should be put in
2) on Git(or somewhere else) when I find the repo of an icon the things to do in order to change it, even on the Mac, are way longer than Jeff's post
I wish the Windows folder was specified in that post to but it isn't(as you know he works on Mac).
So basically what's the fastest way to change the icon, maybe just by putting the icns files somewhere and avoiding the download of external software(as some Git repos suggests)?
There is no way of changing the icon on Windows without editing either the sublime_text.exe file or one of the libraries with an external program. It's just one of the many, many differences between Windows and Mac. .icns files are specific for the Mac platform, and don't exist in the Windows versions of Sublime Text.
There is no easy/fast method to change an application icon once its been compiled, however you can use a tool like Resource Tuner to alter the resources embedded within it.
Its worth noting that if you do use Resource Tuner it only supports 32bit binaries which means you will need to modify the 32bit version of Sublime. You can adjust the four icons defined there (16,32,48 256), you will need to create your own individual ICO files for each 32bit resource, import them using resource tuner and then save our .exe
An altered 32bit version of the .exe and .ico resources are here : https://copy.com/S7kKk6rh2Q3P12iu (nothing malicious however use at your own risk)
suggest https://github.com/dbmzzo/Sublime-Text-2-Icon
may help. BTW, it provide solution of changing icon in Win\Ubuntu\Mac

How to select debug/release mode in Xcode4? [duplicate]

Build for debug is just press on the PLAY symbol, but I don't know how to Build for distribution/release?
The short answer is:
choose the iOS scheme from the
drop-down near the run button from
the menu bar
choose product > archive in the
window that pops-up
click 'validate'
upon successful validation, click
'submit'
You can use command line tool to build the release version. Next to your project folder, i.e.
$ ls
...
Foo.xcodeproj
...
Type the following build command:
$ xcodebuild -configuration Release
The "play" button is specifically for build and run (or test or profile, etc). The Archive action is intended to build for release and to generate an archive that is suitable for submission to the app store. If you want to skip that, you can choose Product > Build For > Archive to force the release build without actually archiving. To find the built product, expand the Products group in the Project navigator, right-click the product and choose to show in Finder.
That said, you can click and hold the play button for a menu of other build actions (including Build and Archive).
XCode>Product>Schemes>Edit Schemes>Run>Build Configuration
They've bundled all the target/build configuration/debugging options stuff into "schemes". The transition guide has a good explanation.
I have a large app that was having problems uploading to the AppStore using the archive method you will find in XCode 4. The activity indicator kept spinning for hours whether I was trying to validate or distribute, so I created a support ticket to Apple. During that process, I found out you could right click on the .app in your Products folder inside the Project Navigator of XCode, and compress the app to submit using the Application Loader 2.5.1. (aka the old method). Only the Debug - iphoneos folder is accessible this way (for now) and once Apple responded, this is what they had to say:
I'm glad to hear that Application Loader has provided you a viable workaround. Discussing this situation internally, we're not sure that submitting the Debug build will pose too much of a problem (so long as it was signed with the App Store distribution profile, as you mentioned it was). The app will likely be slower as the debug switches are turned on and optimizations are turned off for the Debug configuration, though it will still run. App Review will ultimately determine whether or not that's ok, as I'm not sure that's something they check for. You could try reaching out directly to App Review to confirm this, if you wish. However, since App Loader is working for you, I do recommend rebuilding the app with your Release configuration and resubmitting to play it safe. To find your Release build in Xcode 4.x, control-click on the Application Archive on the Archives tab in the organizer, and choose "Show in Finder." Then, control-click on the .xcarchive file in Finder and choose "Show Package Contents." The release built .app file should be located within the /Products/Applications folder.
This was very helpful information for developers who are having problems with the archive method, and my app is now uploading successfully without any concern that it won't run to the best of it's ability.
To set the build configuration to Debug or Release, choose 'Edit Scheme' from the 'Product' menu.
Then you see a clear choice.
The Apple Transition Guide mentions a button at the top left of the Xcode screen, but I cannot see it in Xcode 4.3.
That part is now located under Schemes. If you edit your schemes you will see that you can set the debug/release/adhoc/distribution build config for each scheme.
Product -> Archive, later, press the distribute button and check the option Export as Application or what you want

QT/C++ on MAC - Application Icon doesn't set

Weird problem I'm struggling with. On the same folder as my "*.pro" QT project file I have a Resources/myIcon.png.
I am trying to set that as the Icon for my built application, running on OSX. I read the documentation and it suggests to put a "ICON = " in the .pro file. I did that, but for some reason, the icon IS copied over the the resources folder inside my app's content, but the .pfile's icon field remains empty. Even when I change it manually to "resources/myIcon.png" it will not work.
What am I doing wrong?
Manually delete the generated app bundle. Run QMake followed by Rebuild All is not sufficient!
Don't set the full pathname within the application bundle for the icon file in the Info.plist. Just set the filename. Mac OS knows to look in AppName.app/Contents/Resources for it.
And yes, it must be an ICNS file as far as I'm aware. You can use the 'Icon Composer' utility that is part of the Mac OS development tools to create an .icns from a .png.
Are you referring to the icon which appears in the dock? I added a .ico to my application's resource file, then set it as my icon with the following call
QApplication::qApp()->setWindowIcon(QIcon(<resource path>));

Resources